Skip to content

[I] Settings > Note folders > Note folder path: Support choosing different drive and not enforcing path relative to QOwnNotes' Data directory #3493

@przemoc

Description

@przemoc

Expected behaviour

A. Working properly with note folder on different drive than QOwnNotes.
(May be Windows+Portable specific matter depending on how path handling is currently implemented.)
B. Not using path relative to QOwnNotes' Data directory if chosen directory is outside of its hierarchy.

Actual behaviour

A. Note folder defined on different drive (e.g. E:) than QOwnNotes (e.g. D:) is presently inaccessible. Path may look like: PATH_TO_QOWNNOTES/Data/E:/test.
B. Path may look like: PATH_TO_QOWNNOTES/Data/../../../../../test.

Steps to reproduce

A. Create note folder on drive different than QOwnNotes was installed/unpacked.
B. Create note folder in the root of the drive where QOwnNotes was installed/unpacked.

Change to different view in Settings and go back to Note folders to see how path is actually stored.

Relevant log output in the Log panel

Expand
[21:15:50] [warning] QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"
[21:15:50] [warning] QSqlQuery::prepare: database not open
[21:15:50] [warning] removeBrokenLinks : QSqlError("", "Unable to fetch row", "No query")
[21:15:50] [warning] QSqlQuery::prepare: database not open
[21:15:50] [warning] removeBrokenLinks : QSqlError("", "Unable to fetch row", "No query")
[21:15:50] [warning] QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"
[21:15:50] [warning] QSqlQuery::prepare: database not open
[21:15:50] [warning] removeExpiredStaleNoteLinkBy : QSqlError("", "Unable to fetch row", "No query")
[21:15:50] [warning] QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"
[21:15:50] [warning] QSqlQuery::prepare: database not open
[21:15:50] [warning] fetchAllTagHeadersByParentId : QSqlError("", "Unable to fetch row", "No query")
[21:15:50] [warning] QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"
[21:15:50] [warning] QSqlQuery::prepare: database not open
[21:15:50] [warning] countAllParentId : QSqlError("", "Unable to fetch row", "No query")
[21:15:50] [warning] QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"
[21:15:50] [warning] QSqlQuery::prepare: database not open
[21:15:50] [warning] countAll : QSqlError("", "Unable to fetch row", "No query")
[21:15:50] [warning] QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"
[21:15:50] [warning] QSqlQuery::prepare: database not open
[21:15:50] [warning] fetchAllOfNote : QSqlError("", "Unable to fetch row", "No query")
[21:15:50] [warning] QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"
[21:15:50] [warning] QSqlQuery::prepare: database not open
[21:15:50] [warning] fetchAllOfNote : QSqlError("", "Unable to fetch row", "No query")
[21:15:50] [warning] QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"
[21:15:50] [warning] QSqlQuery::prepare: database not open
[21:15:50] [warning] fetchAllOfNote : QSqlError("", "Unable to fetch row", "No query")
[21:15:50] [warning] QSqlDatabasePrivate::database: unable to open database: "unable to open database file Error opening database"

Information about the application, settings and environment

Expand

QOwnNotes Debug Information

General Info

Current Date: Wed Mar 11 21:38:29 2026
Version: 26.3.8
Build date: Mar 10 2026
Build number: 1281
Platform: windows (windows)
Operating System: Windows 11 Version 24H2
Build architecture: x86_64
Current architecture: x86_64
Release: GitHub Actions
Qt Version (build): 6.10.1
Qt Version (runtime): 6.10.1
Portable mode: yes
Settings path / key: D:/scoop/apps/qownnotes/current/Data/PBE/QOwnNotes.ini
Application database path: D:\scoop\apps\qownnotes\current\Data\QOwnNotes.sqlite
Application arguments: D:\scoop\apps\qownnotes\current\QOwnNotes.exe, --portable
Qt Debug: no
System Botan: no
Libgit2: no
QLiteHtml: no
Locale (system): en_US
Locale (interface): empty
Primary screen resolution: 1920x1080
Icon theme: breeze-dark-qownnotes
Notes in current note folder: 3
Calendar items: 0
Enabled scripts: 0
Database drivers: QIBASE, QSQLITE, QMIMER, QOCI, QODBC, QPSQL

Server Info

serverUrl: empty
appIsValid: no
notesPathExists: empty
connectionErrorMessage: empty

Spellchecking

Enabled: false
Selected language: auto
Language codes: empty
Language names: empty
Application dictionaries path: D:\scoop\apps\qownnotes\current\Data\dicts

Note folders

currentNoteFolderId: 1

Note folder default

id: 1
isCurrent: yes
activeTagId: 0
localPath: D:\scoop\apps\qownnotes\current\Data\Notes
remotePath: Notes
cloudConnectionId: 1
isShowSubfolders: no
isUseGit: no
allowDifferentNoteFileName: no
activeNoteSubFolder name: empty
database file: D:\scoop\apps\qownnotes\current\Data\Notes\notes.sqlite

Note folder test

id: 2
isCurrent: no
activeTagId: 0
localPath: D:\scoop\apps\qownnotes\current\Data\..\..\..\..\..\test
remotePath: empty
cloudConnectionId: 1
isShowSubfolders: no
isUseGit: no
allowDifferentNoteFileName: no
activeNoteSubFolder name: empty
database file: D:\scoop\apps\qownnotes\current\Data\..\..\..\..\..\test\notes.sqlite

Cloud connections

Cloud connection Default

id: 1
isCurrent: yes
serverUrl: empty
username: empty
accountId: empty

Enabled scripts

Settings

ActiveNoteHistoryItem (NoteHistoryItem): empty
Debug/fakeOldVersionNumber (bool): false
Debug/fileLogging (bool): false
Editor/CurrentSchemaKey (QString): EditorColorSchema-cdbf28fc-1ddc-4d13-bb21-6a4043316a2f
Editor/autoBracketClosing (bool): true
Editor/autoBracketRemoval (bool): true
Editor/disableCursorBlinking (bool): false
Editor/editorWidthInDFMOnly (bool): true
Editor/hangingIndent (bool): false
Editor/highlightCurrentLine (bool): true
Editor/indentSize (int): 4
Editor/markdownLspArguments (QStringList): empty
Editor/markdownLspCommand (QString): marksman
Editor/markdownLspEnabled (bool): false
Editor/removeTrailingSpaces (bool): false
Editor/showLineNumbers (bool): false
Editor/showMarkdownImagePreviews (bool): true
Editor/useTabIndent (bool): false
Editor/vimMode (bool): false
IssueAssistantDialog/geometry (QByteArray): <binary data>
LastUpdateCheck (QDateTime): 2026-03-11T20:55:48.804
LinkDialog/geometry (QByteArray): <binary data>
LogWidget/criticalLog (bool): true
LogWidget/debugLog (bool): true
LogWidget/fatalLog (bool): true
LogWidget/infoLog (bool): true
LogWidget/scriptingLog (bool): true
LogWidget/statusLog (bool): true
LogWidget/warningLog (bool): true
MainWindow/geometry (QByteArray): <binary data>
MainWindow/mainToolBar.iconSize (int): 24
MainWindow/menuBarGeometry (QByteArray): <binary data>
MainWindow/noteTextEdit.code.font (QString): Courier New,9,-1,2,400,0,0,0,0,0,0,0,0,0,0,1
MainWindow/noteTextEdit.font (QString): Segoe UI,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
MainWindow/noteTextView.code.font (QString): Courier New,9,-1,2,400,0,0,0,0,0,0,0,0,0,0,1
MainWindow/noteTextView.font (QString): Segoe UI,9,-1,5,400,0,0,0,0,0,0,0,0,0,0,1
MainWindow/noteTextView.ignoreCodeFontSize (bool): true
MainWindow/noteTextView.refreshDebounceTime (int): 600
MainWindow/noteTextView.rtl (bool): false
MainWindow/noteTextView.underline (bool): false
MainWindow/noteTextView.useEditorStyles (bool): true
MainWindow/noteTextView.useInternalExportStyling (bool): true
NoteFolder-1/NoteTabNameList (QStringList): Welcome to QOwnNotes
NoteFolder-1/NoteTabStickinessList (QStringList): empty
NoteFolder-1/NoteTabSubFolderPathDataList (QStringList): empty
NoteFolder-2/NoteTabNameList (QStringList): empty
NoteFolder-2/NoteTabStickinessList (QStringList): empty
NoteFolder-2/NoteTabSubFolderPathDataList (QStringList): empty
NoteHistory-1 (QVariantList): <variant list with 6 item(s)>
NoteHistoryCurrentIndex-1 (int): 5
PiwikClientId (QString): <hidden>
SearchEngineId (int): 0
SettingsDialog/geometry (QByteArray): <binary data>
SettingsDialog/mainSplitterState (QByteArray): <binary data>
ShowSystemTray (bool): false
StartHidden (bool): false
TableDialog/geometry (QByteArray): <binary data>
WelcomeDialog/geometry (QByteArray): <binary data>
acceptAllExternalModifications (bool): false
ai/autocompleteEnabled (bool): false
ai/groq/apiKey (QString): <hidden>
ai/openai/apiKey (QString): <hidden>
ai/responseTimeout (int): 15
allowEmptyNotes (bool): true
allowNoteEditing (bool): false
allowOnlyOneAppInstance (bool): true
appMetrics/disableAppHeartbeat (bool): true
appMetrics/disableTracking (bool): true
appMetrics/notificationShown (QString): true
autoReadOnlyMode (bool): false
autoReadOnlyModeTimeout (int): 30
automaticNoteFolderDatabaseClosing (bool): false
checkSpelling (bool): false
closeTodoListAfterSave (bool): false
cryptoKey (QString): <hidden>
currentNoteFolderId (int): 1
currentWorkspace (QString): initial
cursorWidth (int): 1
darkMode (bool): true
darkModeColors (bool): true
darkModeIconTheme (bool): true
darkModeTrayIcon (bool): true
defaultNoteFileExtension (QString): md
demoNotesCreated (QString): true
disableAutomaticUpdateDialog (bool): true
disableSavedSearchesAutoCompletion (bool): false
dockWasInitializedOnce (QString): true
enableNoteChecksumChecks (bool): false
enableNoteTree (bool): false
enableSocketServer (bool): true
enableWebAppSupport (bool): false
externalEditorPath (QString): empty
fullyHighlightedBlockquotes (bool): false
gitCommitInterval (int): 30
gitExecutablePath (QString): empty
gitLogCommand (QString): empty
guiFirstRunInit (bool): true
hideIconsInMenus (bool): false
hideTabCloseButton (bool): false
ignoreAllExternalModifications (bool): false
ignoreAllExternalNoteFolderChanges (bool): false
ignoreNoteSubFolders (QString): ^\.
ignoredNoteFiles (QString): empty
imageScaleDown (bool): false
imageScaleDownMaximumHeight (int): 1024
imageScaleDownMaximumWidth (int): 1024
initialLayoutIdentifier (QString): full
insertTimeFormat (QString): empty
interfaceFontSize (int): 11
interfaceLanguage (QString): empty
interfaceScalingFactor (int): 100
internalIconTheme (bool): false
itemHeight (int): 18
legacyLinking (bool): false
localTrash/autoCleanupDays (int): 30
localTrash/autoCleanupEnabled (bool): true
localTrash/supportEnabled (bool): true
markdownHighlightingEnabled (bool): true
maxNoteFileSize (int): 1048576
navigationPanelAutoSelect (bool): true
navigationPanelHideSearch (bool): false
networking/ignoreSSLErrors (bool): true
networking/proxyType (int): 2
newNoteAskHeadline (bool): false
noteEditIsCentralWidget (bool): true
noteFileExtensionList (QStringList): md, txt
noteListPreview (bool): false
noteSaveIntervalTime (int): 10
noteSubfoldersPanelDisplayAsFullTree (bool): true
noteSubfoldersPanelHideSearch (bool): false
noteSubfoldersPanelOrder (int): 0
noteSubfoldersPanelShowFullPath (bool): false
noteSubfoldersPanelShowNotesRecursively (bool): false
noteSubfoldersPanelShowRootFolderName (bool): true
noteSubfoldersPanelSort (int): 1
noteSubfoldersPanelTabsUnsetAllNotesSelection (bool): false
notesPanelOrder (int): 1
notesPanelSort (int): 1
notesPath (QString): Notes
notifyAllExternalModifications (bool): false
overrideInterfaceFontSize (bool): false
overrideInterfaceScalingFactor (bool): false
ownCloud/supportEnabled (bool): false
ownCloud/todoCalendarBackend (int): 3
ownCloud/todoCalendarCalDAVPassword (QString): <hidden>
ownCloud/todoCalendarCalDAVServerUrl (QString): empty
ownCloud/todoCalendarCalDAVUsername (QString): empty
ownCloud/todoCalendarCloudConnectionId (int): 1
ownCloud/todoCalendarDisplayNameList (QStringList): empty
ownCloud/todoCalendarEnabledList (QStringList): empty
ownCloud/todoCalendarEnabledUrlList (QStringList): empty
ownCloud/todoCalendarUrlList (QStringList): empty
ownCloudInfo/appIsValid (bool): false
ownCloudInfo/connectionErrorMessage (QString): empty
ownCloudInfo/notesPathExistsText (QString): empty
ownCloudInfo/serverVersion (QString): empty
previousWorkspace (QString): QrcpqMq9B2ZQ
recentNoteFolders (QStringList): D:/scoop/apps/qownnotes/current/Data/../../../../../test, D:/scoop/apps/qownnotes/current/Data/E:/notes
restoreCursorPosition (bool): true
restoreLastNoteAtStartup (bool): true
restoreNoteTabs (bool): true
savedSearches/noteFolder-1 (QStringList): Note 2026-03-11 20h57s29, Note 2025-09-22 13h13s53
showMatches (bool): true
showMenuBar (bool): true
showStatusBar (bool): true
showStatusBarNotePath (bool): true
showStatusBarRelativeNotePath (bool): false
startInReadOnlyMode (bool): false
systemIconTheme (bool): false
taggingShowNotesRecursively (bool): false
tagsPanelHideNoteCount (bool): false
tagsPanelHideSearch (bool): false
tagsPanelOrder (int): 0
tagsPanelSort (int): 0
todoCalendarSupport (bool): true
useNoteFolderButtons (bool): false
useUNIXNewline (bool): false
webAppClientService/serverUrl (QString): wss://app.qownnotes.org
webAppClientService/token (QString): <hidden>
webSocketServerService/bookmarkSuggestionApiEnabled (bool): false
webSocketServerService/bookmarkSuggestionApiPort (int): 22224
webSocketServerService/bookmarksNoteName (QString): Bookmarks
webSocketServerService/bookmarksTag (QString): bookmarks
webSocketServerService/commandSnippetsNoteName (QString): Commands
webSocketServerService/commandSnippetsTag (QString): commands
webSocketServerService/port (int): 22222
workspace-QrcpqMq9B2ZQ/name (QString): Full
workspace-QrcpqMq9B2ZQ/noteSubFolderDockWidgetVisible (QString): true
workspace-QrcpqMq9B2ZQ/windowState (QByteArray): <binary data>
workspace-initial/name (QString): Minimal
workspace-initial/noteSubFolderDockWidgetVisible (QString): true
workspace-initial/windowState (QByteArray): <binary data>
workspace-zms5zK8tq87e/name (QString): Full
workspace-zms5zK8tq87e/noteSubFolderDockWidgetVisible (QString): true
workspace-zms5zK8tq87e/windowState (QByteArray): <binary data>
workspaces (QStringList): initial, zms5zK8tq87e, QrcpqMq9B2ZQ

System environment

****: ::=::\
__COMPAT_LAYER: DetectorsAppHealth
ALLUSERSPROFILE: C:\ProgramData
APPDATA: C:\Users\przemoc\AppData\Roaming
CHROME_EXECUTABLE: D:\scoop\apps\googlechrome\current\chrome.exe
CommonProgramFiles: C:\Program Files\Common Files
CommonProgramFiles(x86): C:\Program Files (x86)\Common Files
CommonProgramW6432: C:\Program Files\Common Files
COMPUTERNAME: NUCPHKI7C
ComSpec: C:\WINDOWS\system32\cmd.exe
DriverData: C:\Windows\System32\Drivers\DriverData
EDOSIGN_XMX_SIZE: -Xmx6000m
EFC_7432_1592913036: 1
FPS_BROWSER_APP_PROFILE_STRING: Internet Explorer
FPS_BROWSER_USER_PROFILE_STRING: Default
GIT_INSTALL_ROOT: D:\scoop\apps\git\current
HOMEDRIVE: C:
HOMEPATH: \Users\przemoc
LEVEL_ZERO_V1_SDK_PATH: C:\Program Files\LevelZeroSDK\1.24.0\
LOCALAPPDATA: C:\Users\przemoc\AppData\Local
LOGONSERVER: \\NUCPHKI7C
NUMBER_OF_PROCESSORS: 8
OneDrive: C:\Users\przemoc\OneDrive
OS: Windows_NT
Path: C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\Program Files\dotnet\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\Program Files\PowerShell\7\;D:\scoop\apps\git\current\cmd;D:\scoop\apps\vscodium\current\bin;D:\scoop\apps\qemu\current;D:\scoop\apps\mpv\current;D:\scoop\apps\ghostscript\current\lib;D:\bin;D:\scoop\shims;C:\Users\przemoc\AppData\Local\Microsoft\WindowsApps;C:\Users\przemoc\AppData\Local\Programs\ExifTool;C:\Users\przemoc\AppData\Local\Microsoft\WinGet\Links
PATHEXT: .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
POWERSHELL_DISTRIBUTION_CHANNEL: MSI:Windows 10 Pro
PROCESSOR_ARCHITECTURE: AMD64
PROCESSOR_IDENTIFIER: Intel64 Family 6 Model 140 Stepping 1, GenuineIntel
PROCESSOR_LEVEL: 6
PROCESSOR_REVISION: 8c01
ProgramData: C:\ProgramData
ProgramFiles: C:\Program Files
ProgramFiles(x86): C:\Program Files (x86)
ProgramW6432: C:\Program Files
PSModulePath: C:\Program Files\WindowsPowerShell\Modules;C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules
PUBLIC: C:\Users\Public
QML_DISABLE_DISK_CACHE: true
SESSIONNAME: Console
SystemDrive: C:
SystemRoot: C:\WINDOWS
TEMP: C:\Users\przemoc\AppData\Local\Temp
TMP: C:\Users\przemoc\AppData\Local\Temp
USERDOMAIN: NUCPHKI7C
USERDOMAIN_ROAMINGPROFILE: NUCPHKI7C
USERNAME: przemoc
USERPROFILE: C:\Users\przemoc
VBOX_MSI_INSTALL_PATH: C:\Program Files\Oracle\VirtualBox\
windir: C:\WINDOWS
WIRESHARK_CONFIG_DIR: D:\scoop\apps\wireshark\current\Data
WIRESHARK_DATA_DIR: D:\scoop\apps\wireshark\current\Data
ZES_ENABLE_SYSMAN: 1

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions