Work on settings panels, only few to go.
This commit is contained in:
parent
e02ceb82bc
commit
1d8f5f860d
531
rssguard.pro
531
rssguard.pro
@ -154,274 +154,273 @@ win32 {
|
||||
QMAKE_TARGET_PRODUCT = $$APP_NAME
|
||||
}
|
||||
|
||||
HEADERS += src/core/feeddownloader.h \
|
||||
src/core/feedsmodel.h \
|
||||
src/core/feedsproxymodel.h \
|
||||
src/core/message.h \
|
||||
src/core/messagesmodel.h \
|
||||
src/core/messagesproxymodel.h \
|
||||
src/core/parsingfactory.h \
|
||||
src/definitions/definitions.h \
|
||||
src/dynamic-shortcuts/dynamicshortcuts.h \
|
||||
src/dynamic-shortcuts/dynamicshortcutswidget.h \
|
||||
src/dynamic-shortcuts/shortcutbutton.h \
|
||||
src/dynamic-shortcuts/shortcutcatcher.h \
|
||||
src/exceptions/applicationexception.h \
|
||||
src/exceptions/ioexception.h \
|
||||
src/gui/baselineedit.h \
|
||||
src/gui/basetoolbar.h \
|
||||
src/gui/colorlabel.h \
|
||||
src/gui/comboboxwithstatus.h \
|
||||
src/gui/dialogs/formabout.h \
|
||||
src/gui/dialogs/formaddaccount.h \
|
||||
src/gui/dialogs/formbackupdatabasesettings.h \
|
||||
src/gui/dialogs/formdatabasecleanup.h \
|
||||
src/gui/dialogs/formmain.h \
|
||||
src/gui/dialogs/formrestoredatabasesettings.h \
|
||||
src/gui/dialogs/formsettings.h \
|
||||
src/gui/dialogs/formupdate.h \
|
||||
src/gui/edittableview.h \
|
||||
src/gui/feedmessageviewer.h \
|
||||
src/gui/feedstoolbar.h \
|
||||
src/gui/feedsview.h \
|
||||
src/gui/labelwithstatus.h \
|
||||
src/gui/lineeditwithstatus.h \
|
||||
src/gui/messagebox.h \
|
||||
src/gui/messagessearchlineedit.h \
|
||||
src/gui/messagestoolbar.h \
|
||||
src/gui/messagesview.h \
|
||||
src/gui/plaintoolbutton.h \
|
||||
src/gui/squeezelabel.h \
|
||||
src/gui/statusbar.h \
|
||||
src/gui/styleditemdelegatewithoutfocus.h \
|
||||
src/gui/systemtrayicon.h \
|
||||
src/gui/tabbar.h \
|
||||
src/gui/tabcontent.h \
|
||||
src/gui/tabwidget.h \
|
||||
src/gui/timespinbox.h \
|
||||
src/gui/toolbareditor.h \
|
||||
src/gui/widgetwithstatus.h \
|
||||
src/miscellaneous/application.h \
|
||||
src/miscellaneous/autosaver.h \
|
||||
src/miscellaneous/databasecleaner.h \
|
||||
src/miscellaneous/databasefactory.h \
|
||||
src/miscellaneous/databasequeries.h \
|
||||
src/miscellaneous/debugging.h \
|
||||
src/miscellaneous/iconfactory.h \
|
||||
src/miscellaneous/iofactory.h \
|
||||
src/miscellaneous/localization.h \
|
||||
src/miscellaneous/mutex.h \
|
||||
src/miscellaneous/settings.h \
|
||||
src/miscellaneous/settingsproperties.h \
|
||||
src/miscellaneous/simplecrypt/simplecrypt.h \
|
||||
src/miscellaneous/skinfactory.h \
|
||||
src/miscellaneous/systemfactory.h \
|
||||
src/miscellaneous/textfactory.h \
|
||||
src/network-web/basenetworkaccessmanager.h \
|
||||
src/network-web/downloader.h \
|
||||
src/network-web/downloadmanager.h \
|
||||
src/network-web/networkfactory.h \
|
||||
src/network-web/silentnetworkaccessmanager.h \
|
||||
src/network-web/webfactory.h \
|
||||
src/qtsingleapplication/qtlocalpeer.h \
|
||||
src/qtsingleapplication/qtlockedfile.h \
|
||||
src/qtsingleapplication/qtsingleapplication.h \
|
||||
src/qtsingleapplication/qtsinglecoreapplication.h \
|
||||
src/services/abstract/accountcheckmodel.h \
|
||||
src/services/abstract/category.h \
|
||||
src/services/abstract/feed.h \
|
||||
src/services/abstract/gui/formfeeddetails.h \
|
||||
src/services/abstract/recyclebin.h \
|
||||
src/services/abstract/rootitem.h \
|
||||
src/services/abstract/serviceentrypoint.h \
|
||||
src/services/abstract/serviceroot.h \
|
||||
src/services/owncloud/definitions.h \
|
||||
src/services/owncloud/gui/formeditowncloudaccount.h \
|
||||
src/services/owncloud/gui/formowncloudfeeddetails.h \
|
||||
src/services/owncloud/network/owncloudnetworkfactory.h \
|
||||
src/services/owncloud/owncloudcategory.h \
|
||||
src/services/owncloud/owncloudfeed.h \
|
||||
src/services/owncloud/owncloudrecyclebin.h \
|
||||
src/services/owncloud/owncloudserviceentrypoint.h \
|
||||
src/services/owncloud/owncloudserviceroot.h \
|
||||
src/services/standard/gui/formstandardcategorydetails.h \
|
||||
src/services/standard/gui/formstandardfeeddetails.h \
|
||||
src/services/standard/gui/formstandardimportexport.h \
|
||||
src/services/standard/standardcategory.h \
|
||||
src/services/standard/standardfeed.h \
|
||||
src/services/standard/standardfeedsimportexportmodel.h \
|
||||
src/services/standard/standardserviceentrypoint.h \
|
||||
src/services/standard/standardserviceroot.h \
|
||||
src/services/tt-rss/definitions.h \
|
||||
src/services/tt-rss/gui/formeditaccount.h \
|
||||
src/services/tt-rss/gui/formttrssfeeddetails.h \
|
||||
src/services/tt-rss/network/ttrssnetworkfactory.h \
|
||||
src/services/tt-rss/ttrsscategory.h \
|
||||
src/services/tt-rss/ttrssfeed.h \
|
||||
src/services/tt-rss/ttrssrecyclebin.h \
|
||||
src/services/tt-rss/ttrssserviceentrypoint.h \
|
||||
src/services/tt-rss/ttrssserviceroot.h \
|
||||
src/gui/webviewer.h \
|
||||
src/gui/webbrowser.h \
|
||||
src/network-web/webpage.h \
|
||||
src/gui/locationlineedit.h \
|
||||
src/network-web/googlesuggest.h \
|
||||
src/gui/discoverfeedsbutton.h \
|
||||
src/gui/settings/settingspanel.h \
|
||||
src/gui/settings/settingsgeneral.h \
|
||||
src/gui/settings/settingsdatabase.h \
|
||||
src/gui/settings/settingsshortcuts.h \
|
||||
src/gui/settings/settingsgui.h \
|
||||
src/gui/settings/settingslocalization.h \
|
||||
src/gui/settings/settingsbrowsermail.h \
|
||||
src/gui/settings/settingsfeedsmessages.h \
|
||||
src/gui/settings/settingsdownloads.h
|
||||
HEADERS += src/core/feeddownloader.h \
|
||||
src/core/feedsmodel.h \
|
||||
src/core/feedsproxymodel.h \
|
||||
src/core/message.h \
|
||||
src/core/messagesmodel.h \
|
||||
src/core/messagesproxymodel.h \
|
||||
src/core/parsingfactory.h \
|
||||
src/definitions/definitions.h \
|
||||
src/dynamic-shortcuts/dynamicshortcuts.h \
|
||||
src/dynamic-shortcuts/dynamicshortcutswidget.h \
|
||||
src/dynamic-shortcuts/shortcutbutton.h \
|
||||
src/dynamic-shortcuts/shortcutcatcher.h \
|
||||
src/exceptions/applicationexception.h \
|
||||
src/exceptions/ioexception.h \
|
||||
src/gui/baselineedit.h \
|
||||
src/gui/basetoolbar.h \
|
||||
src/gui/colorlabel.h \
|
||||
src/gui/comboboxwithstatus.h \
|
||||
src/gui/dialogs/formabout.h \
|
||||
src/gui/dialogs/formaddaccount.h \
|
||||
src/gui/dialogs/formbackupdatabasesettings.h \
|
||||
src/gui/dialogs/formdatabasecleanup.h \
|
||||
src/gui/dialogs/formmain.h \
|
||||
src/gui/dialogs/formrestoredatabasesettings.h \
|
||||
src/gui/dialogs/formsettings.h \
|
||||
src/gui/dialogs/formupdate.h \
|
||||
src/gui/edittableview.h \
|
||||
src/gui/feedmessageviewer.h \
|
||||
src/gui/feedstoolbar.h \
|
||||
src/gui/feedsview.h \
|
||||
src/gui/labelwithstatus.h \
|
||||
src/gui/lineeditwithstatus.h \
|
||||
src/gui/messagebox.h \
|
||||
src/gui/messagessearchlineedit.h \
|
||||
src/gui/messagestoolbar.h \
|
||||
src/gui/messagesview.h \
|
||||
src/gui/plaintoolbutton.h \
|
||||
src/gui/squeezelabel.h \
|
||||
src/gui/statusbar.h \
|
||||
src/gui/styleditemdelegatewithoutfocus.h \
|
||||
src/gui/systemtrayicon.h \
|
||||
src/gui/tabbar.h \
|
||||
src/gui/tabcontent.h \
|
||||
src/gui/tabwidget.h \
|
||||
src/gui/timespinbox.h \
|
||||
src/gui/toolbareditor.h \
|
||||
src/gui/widgetwithstatus.h \
|
||||
src/miscellaneous/application.h \
|
||||
src/miscellaneous/autosaver.h \
|
||||
src/miscellaneous/databasecleaner.h \
|
||||
src/miscellaneous/databasefactory.h \
|
||||
src/miscellaneous/databasequeries.h \
|
||||
src/miscellaneous/debugging.h \
|
||||
src/miscellaneous/iconfactory.h \
|
||||
src/miscellaneous/iofactory.h \
|
||||
src/miscellaneous/localization.h \
|
||||
src/miscellaneous/mutex.h \
|
||||
src/miscellaneous/settings.h \
|
||||
src/miscellaneous/settingsproperties.h \
|
||||
src/miscellaneous/simplecrypt/simplecrypt.h \
|
||||
src/miscellaneous/skinfactory.h \
|
||||
src/miscellaneous/systemfactory.h \
|
||||
src/miscellaneous/textfactory.h \
|
||||
src/network-web/basenetworkaccessmanager.h \
|
||||
src/network-web/downloader.h \
|
||||
src/network-web/downloadmanager.h \
|
||||
src/network-web/networkfactory.h \
|
||||
src/network-web/silentnetworkaccessmanager.h \
|
||||
src/network-web/webfactory.h \
|
||||
src/qtsingleapplication/qtlocalpeer.h \
|
||||
src/qtsingleapplication/qtlockedfile.h \
|
||||
src/qtsingleapplication/qtsingleapplication.h \
|
||||
src/qtsingleapplication/qtsinglecoreapplication.h \
|
||||
src/services/abstract/accountcheckmodel.h \
|
||||
src/services/abstract/category.h \
|
||||
src/services/abstract/feed.h \
|
||||
src/services/abstract/gui/formfeeddetails.h \
|
||||
src/services/abstract/recyclebin.h \
|
||||
src/services/abstract/rootitem.h \
|
||||
src/services/abstract/serviceentrypoint.h \
|
||||
src/services/abstract/serviceroot.h \
|
||||
src/services/owncloud/definitions.h \
|
||||
src/services/owncloud/gui/formeditowncloudaccount.h \
|
||||
src/services/owncloud/gui/formowncloudfeeddetails.h \
|
||||
src/services/owncloud/network/owncloudnetworkfactory.h \
|
||||
src/services/owncloud/owncloudcategory.h \
|
||||
src/services/owncloud/owncloudfeed.h \
|
||||
src/services/owncloud/owncloudrecyclebin.h \
|
||||
src/services/owncloud/owncloudserviceentrypoint.h \
|
||||
src/services/owncloud/owncloudserviceroot.h \
|
||||
src/services/standard/gui/formstandardcategorydetails.h \
|
||||
src/services/standard/gui/formstandardfeeddetails.h \
|
||||
src/services/standard/gui/formstandardimportexport.h \
|
||||
src/services/standard/standardcategory.h \
|
||||
src/services/standard/standardfeed.h \
|
||||
src/services/standard/standardfeedsimportexportmodel.h \
|
||||
src/services/standard/standardserviceentrypoint.h \
|
||||
src/services/standard/standardserviceroot.h \
|
||||
src/services/tt-rss/definitions.h \
|
||||
src/services/tt-rss/gui/formeditaccount.h \
|
||||
src/services/tt-rss/gui/formttrssfeeddetails.h \
|
||||
src/services/tt-rss/network/ttrssnetworkfactory.h \
|
||||
src/services/tt-rss/ttrsscategory.h \
|
||||
src/services/tt-rss/ttrssfeed.h \
|
||||
src/services/tt-rss/ttrssrecyclebin.h \
|
||||
src/services/tt-rss/ttrssserviceentrypoint.h \
|
||||
src/services/tt-rss/ttrssserviceroot.h \
|
||||
src/gui/webviewer.h \
|
||||
src/gui/webbrowser.h \
|
||||
src/network-web/webpage.h \
|
||||
src/gui/locationlineedit.h \
|
||||
src/network-web/googlesuggest.h \
|
||||
src/gui/discoverfeedsbutton.h \
|
||||
src/gui/settings/settingspanel.h \
|
||||
src/gui/settings/settingsgeneral.h \
|
||||
src/gui/settings/settingsdatabase.h \
|
||||
src/gui/settings/settingsshortcuts.h \
|
||||
src/gui/settings/settingsgui.h \
|
||||
src/gui/settings/settingslocalization.h \
|
||||
src/gui/settings/settingsbrowsermail.h \
|
||||
src/gui/settings/settingsfeedsmessages.h \
|
||||
src/gui/settings/settingsdownloads.h
|
||||
|
||||
SOURCES += src/core/feeddownloader.cpp \
|
||||
src/core/feedsmodel.cpp \
|
||||
src/core/feedsproxymodel.cpp \
|
||||
src/core/message.cpp \
|
||||
src/core/messagesmodel.cpp \
|
||||
src/core/messagesproxymodel.cpp \
|
||||
src/core/parsingfactory.cpp \
|
||||
src/dynamic-shortcuts/dynamicshortcuts.cpp \
|
||||
src/dynamic-shortcuts/dynamicshortcutswidget.cpp \
|
||||
src/dynamic-shortcuts/shortcutbutton.cpp \
|
||||
src/dynamic-shortcuts/shortcutcatcher.cpp \
|
||||
src/exceptions/applicationexception.cpp \
|
||||
src/exceptions/ioexception.cpp \
|
||||
src/gui/baselineedit.cpp \
|
||||
src/gui/basetoolbar.cpp \
|
||||
src/gui/colorlabel.cpp \
|
||||
src/gui/comboboxwithstatus.cpp \
|
||||
src/gui/dialogs/formabout.cpp \
|
||||
src/gui/dialogs/formaddaccount.cpp \
|
||||
src/gui/dialogs/formbackupdatabasesettings.cpp \
|
||||
src/gui/dialogs/formdatabasecleanup.cpp \
|
||||
src/gui/dialogs/formmain.cpp \
|
||||
src/gui/dialogs/formrestoredatabasesettings.cpp \
|
||||
src/gui/dialogs/formsettings.cpp \
|
||||
src/gui/dialogs/formupdate.cpp \
|
||||
src/gui/edittableview.cpp \
|
||||
src/gui/feedmessageviewer.cpp \
|
||||
src/gui/feedstoolbar.cpp \
|
||||
src/gui/feedsview.cpp \
|
||||
src/gui/labelwithstatus.cpp \
|
||||
src/gui/lineeditwithstatus.cpp \
|
||||
src/gui/messagebox.cpp \
|
||||
src/gui/messagessearchlineedit.cpp \
|
||||
src/gui/messagestoolbar.cpp \
|
||||
src/gui/messagesview.cpp \
|
||||
src/gui/plaintoolbutton.cpp \
|
||||
src/gui/squeezelabel.cpp \
|
||||
src/gui/statusbar.cpp \
|
||||
src/gui/styleditemdelegatewithoutfocus.cpp \
|
||||
src/gui/systemtrayicon.cpp \
|
||||
src/gui/tabbar.cpp \
|
||||
src/gui/tabcontent.cpp \
|
||||
src/gui/tabwidget.cpp \
|
||||
src/gui/timespinbox.cpp \
|
||||
src/gui/toolbareditor.cpp \
|
||||
src/gui/widgetwithstatus.cpp \
|
||||
src/main.cpp \
|
||||
src/miscellaneous/application.cpp \
|
||||
src/miscellaneous/autosaver.cpp \
|
||||
src/miscellaneous/databasecleaner.cpp \
|
||||
src/miscellaneous/databasefactory.cpp \
|
||||
src/miscellaneous/databasequeries.cpp \
|
||||
src/miscellaneous/debugging.cpp \
|
||||
src/miscellaneous/iconfactory.cpp \
|
||||
src/miscellaneous/iofactory.cpp \
|
||||
src/miscellaneous/localization.cpp \
|
||||
src/miscellaneous/mutex.cpp \
|
||||
src/miscellaneous/settings.cpp \
|
||||
src/miscellaneous/simplecrypt/simplecrypt.cpp \
|
||||
src/miscellaneous/skinfactory.cpp \
|
||||
src/miscellaneous/systemfactory.cpp \
|
||||
src/miscellaneous/textfactory.cpp \
|
||||
src/network-web/basenetworkaccessmanager.cpp \
|
||||
src/network-web/downloader.cpp \
|
||||
src/network-web/downloadmanager.cpp \
|
||||
src/network-web/networkfactory.cpp \
|
||||
src/network-web/silentnetworkaccessmanager.cpp \
|
||||
src/network-web/webfactory.cpp \
|
||||
src/qtsingleapplication/qtlocalpeer.cpp \
|
||||
src/qtsingleapplication/qtlockedfile.cpp \
|
||||
src/qtsingleapplication/qtsingleapplication.cpp \
|
||||
src/qtsingleapplication/qtsinglecoreapplication.cpp \
|
||||
src/services/abstract/accountcheckmodel.cpp \
|
||||
src/services/abstract/category.cpp \
|
||||
src/services/abstract/feed.cpp \
|
||||
src/services/abstract/gui/formfeeddetails.cpp \
|
||||
src/services/abstract/recyclebin.cpp \
|
||||
src/services/abstract/rootitem.cpp \
|
||||
src/services/abstract/serviceentrypoint.cpp \
|
||||
src/services/abstract/serviceroot.cpp \
|
||||
src/services/owncloud/gui/formeditowncloudaccount.cpp \
|
||||
src/services/owncloud/gui/formowncloudfeeddetails.cpp \
|
||||
src/services/owncloud/network/owncloudnetworkfactory.cpp \
|
||||
src/services/owncloud/owncloudcategory.cpp \
|
||||
src/services/owncloud/owncloudfeed.cpp \
|
||||
src/services/owncloud/owncloudrecyclebin.cpp \
|
||||
src/services/owncloud/owncloudserviceentrypoint.cpp \
|
||||
src/services/owncloud/owncloudserviceroot.cpp \
|
||||
src/services/standard/gui/formstandardcategorydetails.cpp \
|
||||
src/services/standard/gui/formstandardfeeddetails.cpp \
|
||||
src/services/standard/gui/formstandardimportexport.cpp \
|
||||
src/services/standard/standardcategory.cpp \
|
||||
src/services/standard/standardfeed.cpp \
|
||||
src/services/standard/standardfeedsimportexportmodel.cpp \
|
||||
src/services/standard/standardserviceentrypoint.cpp \
|
||||
src/services/standard/standardserviceroot.cpp \
|
||||
src/services/tt-rss/gui/formeditaccount.cpp \
|
||||
src/services/tt-rss/gui/formttrssfeeddetails.cpp \
|
||||
src/services/tt-rss/network/ttrssnetworkfactory.cpp \
|
||||
src/services/tt-rss/ttrsscategory.cpp \
|
||||
src/services/tt-rss/ttrssfeed.cpp \
|
||||
src/services/tt-rss/ttrssrecyclebin.cpp \
|
||||
src/services/tt-rss/ttrssserviceentrypoint.cpp \
|
||||
src/services/tt-rss/ttrssserviceroot.cpp \
|
||||
src/gui/webviewer.cpp \
|
||||
src/gui/webbrowser.cpp \
|
||||
src/network-web/webpage.cpp \
|
||||
src/gui/locationlineedit.cpp \
|
||||
src/network-web/googlesuggest.cpp \
|
||||
src/gui/discoverfeedsbutton.cpp \
|
||||
src/gui/settings/settingspanel.cpp \
|
||||
src/gui/settings/settingsgeneral.cpp \
|
||||
src/gui/settings/settingsdatabase.cpp \
|
||||
src/gui/settings/settingsshortcuts.cpp \
|
||||
src/gui/settings/settingsgui.cpp \
|
||||
src/gui/settings/settingslocalization.cpp \
|
||||
src/gui/settings/settingsbrowsermail.cpp \
|
||||
src/gui/settings/settingsfeedsmessages.cpp \
|
||||
src/gui/settings/settingsdownloads.cpp
|
||||
SOURCES += src/core/feeddownloader.cpp \
|
||||
src/core/feedsmodel.cpp \
|
||||
src/core/feedsproxymodel.cpp \
|
||||
src/core/message.cpp \
|
||||
src/core/messagesmodel.cpp \
|
||||
src/core/messagesproxymodel.cpp \
|
||||
src/core/parsingfactory.cpp \
|
||||
src/dynamic-shortcuts/dynamicshortcuts.cpp \
|
||||
src/dynamic-shortcuts/dynamicshortcutswidget.cpp \
|
||||
src/dynamic-shortcuts/shortcutbutton.cpp \
|
||||
src/dynamic-shortcuts/shortcutcatcher.cpp \
|
||||
src/exceptions/applicationexception.cpp \
|
||||
src/exceptions/ioexception.cpp \
|
||||
src/gui/baselineedit.cpp \
|
||||
src/gui/basetoolbar.cpp \
|
||||
src/gui/colorlabel.cpp \
|
||||
src/gui/comboboxwithstatus.cpp \
|
||||
src/gui/dialogs/formabout.cpp \
|
||||
src/gui/dialogs/formaddaccount.cpp \
|
||||
src/gui/dialogs/formbackupdatabasesettings.cpp \
|
||||
src/gui/dialogs/formdatabasecleanup.cpp \
|
||||
src/gui/dialogs/formmain.cpp \
|
||||
src/gui/dialogs/formrestoredatabasesettings.cpp \
|
||||
src/gui/dialogs/formsettings.cpp \
|
||||
src/gui/dialogs/formupdate.cpp \
|
||||
src/gui/edittableview.cpp \
|
||||
src/gui/feedmessageviewer.cpp \
|
||||
src/gui/feedstoolbar.cpp \
|
||||
src/gui/feedsview.cpp \
|
||||
src/gui/labelwithstatus.cpp \
|
||||
src/gui/lineeditwithstatus.cpp \
|
||||
src/gui/messagebox.cpp \
|
||||
src/gui/messagessearchlineedit.cpp \
|
||||
src/gui/messagestoolbar.cpp \
|
||||
src/gui/messagesview.cpp \
|
||||
src/gui/plaintoolbutton.cpp \
|
||||
src/gui/squeezelabel.cpp \
|
||||
src/gui/statusbar.cpp \
|
||||
src/gui/styleditemdelegatewithoutfocus.cpp \
|
||||
src/gui/systemtrayicon.cpp \
|
||||
src/gui/tabbar.cpp \
|
||||
src/gui/tabcontent.cpp \
|
||||
src/gui/tabwidget.cpp \
|
||||
src/gui/timespinbox.cpp \
|
||||
src/gui/toolbareditor.cpp \
|
||||
src/gui/widgetwithstatus.cpp \
|
||||
src/main.cpp \
|
||||
src/miscellaneous/application.cpp \
|
||||
src/miscellaneous/autosaver.cpp \
|
||||
src/miscellaneous/databasecleaner.cpp \
|
||||
src/miscellaneous/databasefactory.cpp \
|
||||
src/miscellaneous/databasequeries.cpp \
|
||||
src/miscellaneous/debugging.cpp \
|
||||
src/miscellaneous/iconfactory.cpp \
|
||||
src/miscellaneous/iofactory.cpp \
|
||||
src/miscellaneous/localization.cpp \
|
||||
src/miscellaneous/mutex.cpp \
|
||||
src/miscellaneous/settings.cpp \
|
||||
src/miscellaneous/simplecrypt/simplecrypt.cpp \
|
||||
src/miscellaneous/skinfactory.cpp \
|
||||
src/miscellaneous/systemfactory.cpp \
|
||||
src/miscellaneous/textfactory.cpp \
|
||||
src/network-web/basenetworkaccessmanager.cpp \
|
||||
src/network-web/downloader.cpp \
|
||||
src/network-web/downloadmanager.cpp \
|
||||
src/network-web/networkfactory.cpp \
|
||||
src/network-web/silentnetworkaccessmanager.cpp \
|
||||
src/network-web/webfactory.cpp \
|
||||
src/qtsingleapplication/qtlocalpeer.cpp \
|
||||
src/qtsingleapplication/qtlockedfile.cpp \
|
||||
src/qtsingleapplication/qtsingleapplication.cpp \
|
||||
src/qtsingleapplication/qtsinglecoreapplication.cpp \
|
||||
src/services/abstract/accountcheckmodel.cpp \
|
||||
src/services/abstract/category.cpp \
|
||||
src/services/abstract/feed.cpp \
|
||||
src/services/abstract/gui/formfeeddetails.cpp \
|
||||
src/services/abstract/recyclebin.cpp \
|
||||
src/services/abstract/rootitem.cpp \
|
||||
src/services/abstract/serviceentrypoint.cpp \
|
||||
src/services/abstract/serviceroot.cpp \
|
||||
src/services/owncloud/gui/formeditowncloudaccount.cpp \
|
||||
src/services/owncloud/gui/formowncloudfeeddetails.cpp \
|
||||
src/services/owncloud/network/owncloudnetworkfactory.cpp \
|
||||
src/services/owncloud/owncloudcategory.cpp \
|
||||
src/services/owncloud/owncloudfeed.cpp \
|
||||
src/services/owncloud/owncloudrecyclebin.cpp \
|
||||
src/services/owncloud/owncloudserviceentrypoint.cpp \
|
||||
src/services/owncloud/owncloudserviceroot.cpp \
|
||||
src/services/standard/gui/formstandardcategorydetails.cpp \
|
||||
src/services/standard/gui/formstandardfeeddetails.cpp \
|
||||
src/services/standard/gui/formstandardimportexport.cpp \
|
||||
src/services/standard/standardcategory.cpp \
|
||||
src/services/standard/standardfeed.cpp \
|
||||
src/services/standard/standardfeedsimportexportmodel.cpp \
|
||||
src/services/standard/standardserviceentrypoint.cpp \
|
||||
src/services/standard/standardserviceroot.cpp \
|
||||
src/services/tt-rss/gui/formeditaccount.cpp \
|
||||
src/services/tt-rss/gui/formttrssfeeddetails.cpp \
|
||||
src/services/tt-rss/network/ttrssnetworkfactory.cpp \
|
||||
src/services/tt-rss/ttrsscategory.cpp \
|
||||
src/services/tt-rss/ttrssfeed.cpp \
|
||||
src/services/tt-rss/ttrssrecyclebin.cpp \
|
||||
src/services/tt-rss/ttrssserviceentrypoint.cpp \
|
||||
src/services/tt-rss/ttrssserviceroot.cpp \
|
||||
src/gui/webviewer.cpp \
|
||||
src/gui/webbrowser.cpp \
|
||||
src/network-web/webpage.cpp \
|
||||
src/gui/locationlineedit.cpp \
|
||||
src/network-web/googlesuggest.cpp \
|
||||
src/gui/discoverfeedsbutton.cpp \
|
||||
src/gui/settings/settingspanel.cpp \
|
||||
src/gui/settings/settingsgeneral.cpp \
|
||||
src/gui/settings/settingsdatabase.cpp \
|
||||
src/gui/settings/settingsshortcuts.cpp \
|
||||
src/gui/settings/settingsgui.cpp \
|
||||
src/gui/settings/settingslocalization.cpp \
|
||||
src/gui/settings/settingsbrowsermail.cpp \
|
||||
src/gui/settings/settingsfeedsmessages.cpp \
|
||||
src/gui/settings/settingsdownloads.cpp
|
||||
|
||||
FORMS += \
|
||||
src/gui/toolbareditor.ui \
|
||||
src/network-web/downloaditem.ui \
|
||||
src/network-web/downloadmanager.ui \
|
||||
src/gui/dialogs/formabout.ui \
|
||||
src/gui/dialogs/formaddaccount.ui \
|
||||
src/gui/dialogs/formbackupdatabasesettings.ui \
|
||||
src/gui/dialogs/formdatabasecleanup.ui \
|
||||
src/gui/dialogs/formmain.ui \
|
||||
src/gui/dialogs/formrestoredatabasesettings.ui \
|
||||
src/gui/dialogs/formsettings.ui \
|
||||
src/gui/dialogs/formupdate.ui \
|
||||
src/services/abstract/gui/formfeeddetails.ui \
|
||||
src/services/owncloud/gui/formeditowncloudaccount.ui \
|
||||
src/services/standard/gui/formstandardcategorydetails.ui \
|
||||
src/services/standard/gui/formstandardimportexport.ui \
|
||||
src/services/tt-rss/gui/formeditaccount.ui \
|
||||
src/gui/settings/settingsgeneral.ui \
|
||||
src/gui/settings/settingsdatabase.ui \
|
||||
src/gui/settings/settingsshortcuts.ui \
|
||||
src/gui/settings/settingsgui.ui \
|
||||
src/gui/settings/settingslocalization.ui \
|
||||
src/gui/settings/settingsbrowsermail.ui \
|
||||
src/gui/settings/settingsfeedsmessages.ui \
|
||||
src/gui/settings/settingsdownloads.ui
|
||||
FORMS += src/gui/toolbareditor.ui \
|
||||
src/network-web/downloaditem.ui \
|
||||
src/network-web/downloadmanager.ui \
|
||||
src/gui/dialogs/formabout.ui \
|
||||
src/gui/dialogs/formaddaccount.ui \
|
||||
src/gui/dialogs/formbackupdatabasesettings.ui \
|
||||
src/gui/dialogs/formdatabasecleanup.ui \
|
||||
src/gui/dialogs/formmain.ui \
|
||||
src/gui/dialogs/formrestoredatabasesettings.ui \
|
||||
src/gui/dialogs/formsettings.ui \
|
||||
src/gui/dialogs/formupdate.ui \
|
||||
src/services/abstract/gui/formfeeddetails.ui \
|
||||
src/services/owncloud/gui/formeditowncloudaccount.ui \
|
||||
src/services/standard/gui/formstandardcategorydetails.ui \
|
||||
src/services/standard/gui/formstandardimportexport.ui \
|
||||
src/services/tt-rss/gui/formeditaccount.ui \
|
||||
src/gui/settings/settingsgeneral.ui \
|
||||
src/gui/settings/settingsdatabase.ui \
|
||||
src/gui/settings/settingsshortcuts.ui \
|
||||
src/gui/settings/settingsgui.ui \
|
||||
src/gui/settings/settingslocalization.ui \
|
||||
src/gui/settings/settingsbrowsermail.ui \
|
||||
src/gui/settings/settingsfeedsmessages.ui \
|
||||
src/gui/settings/settingsdownloads.ui
|
||||
|
||||
TRANSLATIONS += localization/qtbase-cs.ts \
|
||||
localization/qtbase-da.ts \
|
||||
|
@ -96,28 +96,19 @@ FormSettings::FormSettings(QWidget *parent) : QDialog(parent), m_ui(new Ui::Form
|
||||
|
||||
// Establish needed connections.
|
||||
connect(m_ui->m_buttonBox, SIGNAL(accepted()), this, SLOT(saveSettings()));
|
||||
|
||||
connect(m_ui->m_cmbProxyType, SIGNAL(currentIndexChanged(int)), this, SLOT(onProxyTypeChanged(int)));
|
||||
connect(m_ui->m_checkShowPassword, SIGNAL(stateChanged(int)), this, SLOT(displayProxyPassword(int)));
|
||||
connect(m_ui->m_treeSkins, SIGNAL(currentItemChanged(QTreeWidgetItem*,QTreeWidgetItem*)), this, SLOT(onSkinSelected(QTreeWidgetItem*,QTreeWidgetItem*)));
|
||||
connect(m_ui->m_cmbExternalBrowserPreset, SIGNAL(currentIndexChanged(int)), this, SLOT(changeDefaultBrowserArguments(int)));
|
||||
connect(m_ui->m_btnExternalBrowserExecutable, SIGNAL(clicked()), this, SLOT(selectBrowserExecutable()));
|
||||
connect(m_ui->m_cmbExternalEmailPreset, SIGNAL(currentIndexChanged(int)), this, SLOT(changeDefaultEmailArguments(int)));
|
||||
connect(m_ui->m_btnExternalEmailExecutable, SIGNAL(clicked()), this, SLOT(selectEmailExecutable()));
|
||||
connect(m_ui->m_txtMysqlUsername->lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(onMysqlUsernameChanged(QString)));
|
||||
connect(m_ui->m_txtMysqlHostname->lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(onMysqlHostnameChanged(QString)));
|
||||
connect(m_ui->m_txtMysqlPassword->lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(onMysqlPasswordChanged(QString)));
|
||||
connect(m_ui->m_txtMysqlDatabase->lineEdit(), SIGNAL(textChanged(QString)), this, SLOT(onMysqlDatabaseChanged(QString)));
|
||||
connect(m_ui->m_btnMysqlTestSetup, SIGNAL(clicked()), this, SLOT(mysqlTestConnection()));
|
||||
connect(m_ui->m_spinMysqlPort, SIGNAL(editingFinished()), this, SLOT(onMysqlDataStorageEdited()));
|
||||
connect(m_ui->m_txtMysqlHostname->lineEdit(), SIGNAL(textEdited(QString)), this, SLOT(onMysqlDataStorageEdited()));
|
||||
connect(m_ui->m_txtMysqlPassword->lineEdit(), SIGNAL(textEdited(QString)), this, SLOT(onMysqlDataStorageEdited()));
|
||||
connect(m_ui->m_txtMysqlUsername->lineEdit(), SIGNAL(textEdited(QString)), this, SLOT(onMysqlDataStorageEdited()));
|
||||
connect(m_ui->m_cmbSelectToolBar, SIGNAL(currentIndexChanged(int)), m_ui->m_stackedToolbars, SLOT(setCurrentIndex(int)));
|
||||
connect(m_ui->m_cmbDatabaseDriver, SIGNAL(currentIndexChanged(int)), this, SLOT(selectSqlBackend(int)));
|
||||
|
||||
connect(m_ui->m_btnDownloadsTargetDirectory, SIGNAL(clicked()), this, SLOT(selectDownloadsDirectory()));
|
||||
connect(m_ui->m_checkMysqlShowPassword, SIGNAL(toggled(bool)), this, SLOT(switchMysqlPasswordVisiblity(bool)));
|
||||
|
||||
connect(m_ui->m_btnChangeMessagesFont, SIGNAL(clicked()), this, SLOT(changeMessagesFont()));
|
||||
|
||||
|
||||
// Load all settings.
|
||||
loadGeneral();
|
||||
loadDataStorage();
|
||||
|
@ -88,7 +88,7 @@
|
||||
<item row="0" column="1">
|
||||
<widget class="QStackedWidget" name="m_stackedSettings">
|
||||
<property name="currentIndex">
|
||||
<number>7</number>
|
||||
<number>4</number>
|
||||
</property>
|
||||
<widget class="QWidget" name="m_pageGeneral">
|
||||
<layout class="QFormLayout" name="formLayout_5">
|
||||
|
@ -1,18 +1,147 @@
|
||||
#include "gui/settings/settingsdatabase.h"
|
||||
|
||||
#include "miscellaneous/databasefactory.h"
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/textfactory.h"
|
||||
|
||||
SettingsDatabase::SettingsDatabase(QWidget *parent)
|
||||
: QWidget(parent), m_ui(new Ui::SettingsDatabase) {
|
||||
|
||||
SettingsDatabase::SettingsDatabase(Settings *settings, QWidget *parent)
|
||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsDatabase) {
|
||||
m_ui->setupUi(this);
|
||||
|
||||
connect(m_ui->m_cmbDatabaseDriver, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), this, &SettingsDatabase::selectSqlBackend);
|
||||
connect(m_ui->m_checkMysqlShowPassword, &QCheckBox::toggled, this, &SettingsDatabase::switchMysqlPasswordVisiblity);
|
||||
connect(m_ui->m_txtMysqlUsername->lineEdit(), &BaseLineEdit::textChanged, this, &SettingsDatabase::onMysqlUsernameChanged);
|
||||
connect(m_ui->m_txtMysqlHostname->lineEdit(), &BaseLineEdit::textChanged, this, &SettingsDatabase::onMysqlHostnameChanged);
|
||||
connect(m_ui->m_txtMysqlPassword->lineEdit(), &BaseLineEdit::textChanged, this, &SettingsDatabase::onMysqlPasswordChanged);
|
||||
connect(m_ui->m_txtMysqlDatabase->lineEdit(), &BaseLineEdit::textChanged, this, &SettingsDatabase::onMysqlDatabaseChanged);
|
||||
connect(m_ui->m_btnMysqlTestSetup, &QPushButton::clicked, this, &SettingsDatabase::mysqlTestConnection);
|
||||
connect(m_ui->m_spinMysqlPort, &QSpinBox::editingFinished, this, &SettingsDatabase::requireRestart);
|
||||
connect(m_ui->m_txtMysqlHostname->lineEdit(), &BaseLineEdit::textEdited, this, &SettingsDatabase::requireRestart);
|
||||
connect(m_ui->m_txtMysqlPassword->lineEdit(), &BaseLineEdit::textEdited, this, &SettingsDatabase::requireRestart);
|
||||
connect(m_ui->m_txtMysqlUsername->lineEdit(), &BaseLineEdit::textEdited, this, &SettingsDatabase::requireRestart);
|
||||
}
|
||||
|
||||
SettingsDatabase::~SettingsDatabase() {
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
void SettingsDatabase::mysqlTestConnection() {
|
||||
const DatabaseFactory::MySQLError error_code = qApp->database()->mysqlTestConnection(m_ui->m_txtMysqlHostname->lineEdit()->text(),
|
||||
m_ui->m_spinMysqlPort->value(),
|
||||
m_ui->m_txtMysqlDatabase->lineEdit()->text(),
|
||||
m_ui->m_txtMysqlUsername->lineEdit()->text(),
|
||||
m_ui->m_txtMysqlPassword->lineEdit()->text());
|
||||
const QString interpretation = qApp->database()->mysqlInterpretErrorCode(error_code);
|
||||
|
||||
|
||||
switch (error_code) {
|
||||
case DatabaseFactory::MySQLOk:
|
||||
case DatabaseFactory::MySQLUnknownDatabase:
|
||||
m_ui->m_lblMysqlTestResult->setStatus(WidgetWithStatus::Ok, interpretation, interpretation);
|
||||
break;
|
||||
|
||||
default:
|
||||
m_ui->m_lblMysqlTestResult->setStatus(WidgetWithStatus::Error, interpretation, interpretation);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDatabase::onMysqlHostnameChanged(const QString &new_hostname) {
|
||||
if (new_hostname.isEmpty()) {
|
||||
m_ui->m_txtMysqlHostname->setStatus(LineEditWithStatus::Warning, tr("Hostname is empty."));
|
||||
}
|
||||
else {
|
||||
m_ui->m_txtMysqlHostname->setStatus(LineEditWithStatus::Ok, tr("Hostname looks ok."));
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDatabase::onMysqlUsernameChanged(const QString &new_username) {
|
||||
if (new_username.isEmpty()) {
|
||||
m_ui->m_txtMysqlUsername->setStatus(LineEditWithStatus::Warning, tr("Username is empty."));
|
||||
}
|
||||
else {
|
||||
m_ui->m_txtMysqlUsername->setStatus(LineEditWithStatus::Ok, tr("Username looks ok."));
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDatabase::onMysqlPasswordChanged(const QString &new_password) {
|
||||
if (new_password.isEmpty()) {
|
||||
m_ui->m_txtMysqlPassword->setStatus(LineEditWithStatus::Warning, tr("Password is empty."));
|
||||
}
|
||||
else {
|
||||
m_ui->m_txtMysqlPassword->setStatus(LineEditWithStatus::Ok, tr("Password looks ok."));
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDatabase::onMysqlDatabaseChanged(const QString &new_database) {
|
||||
if (new_database.isEmpty()) {
|
||||
m_ui->m_txtMysqlDatabase->setStatus(LineEditWithStatus::Warning, tr("Working database is empty."));
|
||||
}
|
||||
else {
|
||||
m_ui->m_txtMysqlDatabase->setStatus(LineEditWithStatus::Ok, tr("Working database is ok."));
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDatabase::selectSqlBackend(int index) {
|
||||
const QString selected_db_driver = m_ui->m_cmbDatabaseDriver->itemData(index).toString();
|
||||
|
||||
if (selected_db_driver == APP_DB_SQLITE_DRIVER) {
|
||||
m_ui->m_stackedDatabaseDriver->setCurrentIndex(0);
|
||||
}
|
||||
else if (selected_db_driver == APP_DB_MYSQL_DRIVER) {
|
||||
m_ui->m_stackedDatabaseDriver->setCurrentIndex(1);
|
||||
}
|
||||
else {
|
||||
qWarning("GUI for given database driver '%s' is not available.", qPrintable(selected_db_driver));
|
||||
}
|
||||
}
|
||||
|
||||
void SettingsDatabase::switchMysqlPasswordVisiblity(bool visible) {
|
||||
m_ui->m_txtMysqlPassword->lineEdit()->setEchoMode(visible ? QLineEdit::Normal : QLineEdit::Password);
|
||||
}
|
||||
|
||||
void SettingsDatabase::loadSettings() {
|
||||
onBeginLoadSettings();
|
||||
|
||||
m_ui->m_lblMysqlTestResult->setStatus(WidgetWithStatus::Information, tr("No connection test triggered so far."), tr("You did not executed any connection test yet."));
|
||||
|
||||
// Load SQLite.
|
||||
m_ui->m_cmbDatabaseDriver->addItem(qApp->database()->humanDriverName(DatabaseFactory::SQLITE), APP_DB_SQLITE_DRIVER);
|
||||
|
||||
// Load in-memory database status.
|
||||
m_ui->m_checkSqliteUseInMemoryDatabase->setChecked(settings()->value(GROUP(Database), SETTING(Database::UseInMemory)).toBool());
|
||||
|
||||
if (QSqlDatabase::isDriverAvailable(APP_DB_MYSQL_DRIVER)) {
|
||||
onMysqlHostnameChanged(QString());
|
||||
onMysqlUsernameChanged(QString());
|
||||
onMysqlPasswordChanged(QString());
|
||||
onMysqlDatabaseChanged(QString());
|
||||
|
||||
// Load MySQL.
|
||||
m_ui->m_cmbDatabaseDriver->addItem(qApp->database()->humanDriverName(DatabaseFactory::MYSQL), APP_DB_MYSQL_DRIVER);
|
||||
|
||||
// Setup placeholders.
|
||||
m_ui->m_txtMysqlHostname->lineEdit()->setPlaceholderText(tr("Hostname of your MySQL server"));
|
||||
m_ui->m_txtMysqlUsername->lineEdit()->setPlaceholderText(tr("Username to login with"));
|
||||
m_ui->m_txtMysqlPassword->lineEdit()->setPlaceholderText(tr("Password for your username"));
|
||||
m_ui->m_txtMysqlDatabase->lineEdit()->setPlaceholderText(tr("Working database which you have full access to."));
|
||||
|
||||
m_ui->m_txtMysqlHostname->lineEdit()->setText(settings()->value(GROUP(Database), SETTING(Database::MySQLHostname)).toString());
|
||||
m_ui->m_txtMysqlUsername->lineEdit()->setText(settings()->value(GROUP(Database), SETTING(Database::MySQLUsername)).toString());
|
||||
m_ui->m_txtMysqlPassword->lineEdit()->setText(TextFactory::decrypt(settings()->value(GROUP(Database), SETTING(Database::MySQLPassword)).toString()));
|
||||
m_ui->m_txtMysqlDatabase->lineEdit()->setText(settings()->value(GROUP(Database), SETTING(Database::MySQLDatabase)).toString());
|
||||
m_ui->m_spinMysqlPort->setValue(settings()->value(GROUP(Database), SETTING(Database::MySQLPort)).toInt());
|
||||
|
||||
m_ui->m_checkMysqlShowPassword->setChecked(false);
|
||||
}
|
||||
|
||||
int index_current_backend = m_ui->m_cmbDatabaseDriver->findData(settings()->value(GROUP(Database), SETTING(Database::ActiveDriver)).toString());
|
||||
|
||||
if (index_current_backend >= 0) {
|
||||
m_ui->m_cmbDatabaseDriver->setCurrentIndex(index_current_backend);
|
||||
}
|
||||
|
||||
onEndLoadSettings();
|
||||
}
|
||||
@ -20,6 +149,31 @@ void SettingsDatabase::loadSettings() {
|
||||
void SettingsDatabase::saveSettings() {
|
||||
onBeginSaveSettings();
|
||||
|
||||
// Setup in-memory database status.
|
||||
const bool original_inmemory = settings()->value(GROUP(Database), SETTING(Database::UseInMemory)).toBool();
|
||||
const bool new_inmemory = m_ui->m_checkSqliteUseInMemoryDatabase->isChecked();
|
||||
|
||||
// Save data storage settings.
|
||||
QString original_db_driver = settings()->value(GROUP(Database), SETTING(Database::ActiveDriver)).toString();
|
||||
QString selected_db_driver = m_ui->m_cmbDatabaseDriver->itemData(m_ui->m_cmbDatabaseDriver->currentIndex()).toString();
|
||||
|
||||
// Save SQLite.
|
||||
settings()->setValue(GROUP(Database), Database::UseInMemory, new_inmemory);
|
||||
|
||||
if (QSqlDatabase::isDriverAvailable(APP_DB_MYSQL_DRIVER)) {
|
||||
// Save MySQL.
|
||||
settings()->setValue(GROUP(Database), Database::MySQLHostname, m_ui->m_txtMysqlHostname->lineEdit()->text());
|
||||
settings()->setValue(GROUP(Database), Database::MySQLUsername, m_ui->m_txtMysqlUsername->lineEdit()->text());
|
||||
settings()->setValue(GROUP(Database), Database::MySQLPassword, TextFactory::encrypt(m_ui->m_txtMysqlPassword->lineEdit()->text()));
|
||||
settings()->setValue(GROUP(Database), Database::MySQLDatabase, m_ui->m_txtMysqlDatabase->lineEdit()->text());
|
||||
settings()->setValue(GROUP(Database), Database::MySQLPort, m_ui->m_spinMysqlPort->value());
|
||||
}
|
||||
|
||||
settings()->setValue(GROUP(Database), Database::ActiveDriver, selected_db_driver);
|
||||
|
||||
if (original_db_driver != selected_db_driver || original_inmemory != new_inmemory) {
|
||||
requireRestart();
|
||||
}
|
||||
|
||||
onEndSaveSettings();
|
||||
}
|
||||
|
@ -10,13 +10,21 @@ class SettingsDatabase : public SettingsPanel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit SettingsDatabase(QWidget *parent = 0);
|
||||
explicit SettingsDatabase(Settings *settings, QWidget *parent = 0);
|
||||
virtual ~SettingsDatabase();
|
||||
|
||||
void loadSettings();
|
||||
void saveSettings();
|
||||
|
||||
private:
|
||||
void mysqlTestConnection();
|
||||
void onMysqlHostnameChanged(const QString &new_hostname);
|
||||
void onMysqlUsernameChanged(const QString &new_username);
|
||||
void onMysqlPasswordChanged(const QString &new_password);
|
||||
void onMysqlDatabaseChanged(const QString &new_database);
|
||||
void selectSqlBackend(int index);
|
||||
void switchMysqlPasswordVisiblity(bool visible);
|
||||
|
||||
Ui::SettingsDatabase *m_ui;
|
||||
};
|
||||
|
||||
|
@ -25,6 +25,10 @@ SettingsGeneral::SettingsGeneral(Settings *settings, QWidget *parent)
|
||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsGeneral) {
|
||||
m_ui->setupUi(this);
|
||||
m_ui->m_checkAutostart->setText(m_ui->m_checkAutostart->text().arg(APP_NAME));
|
||||
|
||||
connect(m_ui->m_checkAutostart, &QCheckBox::stateChanged, this, &SettingsGeneral::dirtifySettings);
|
||||
connect(m_ui->m_checkForUpdatesOnStart, &QCheckBox::stateChanged, this, &SettingsGeneral::dirtifySettings);
|
||||
connect(m_ui->m_checkRemoveTrolltechJunk, &QCheckBox::stateChanged, this, &SettingsGeneral::dirtifySettings);
|
||||
}
|
||||
|
||||
SettingsGeneral::~SettingsGeneral() {
|
||||
|
@ -1,14 +1,205 @@
|
||||
#include "settingsgui.h"
|
||||
#include "ui_settingsgui.h"
|
||||
#include "gui/settings/settingsgui.h"
|
||||
|
||||
SettingsGui::SettingsGui(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::SettingsGui)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
#include "gui/systemtrayicon.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/iconfactory.h"
|
||||
#include "gui/dialogs/formmain.h"
|
||||
#include "gui/tabwidget.h"
|
||||
#include "gui/feedmessageviewer.h"
|
||||
#include "gui/feedstoolbar.h"
|
||||
#include "gui/messagestoolbar.h"
|
||||
#include "gui/statusbar.h"
|
||||
|
||||
|
||||
SettingsGui::SettingsGui(Settings *settings, QWidget *parent) : SettingsPanel(settings, parent), m_ui(new Ui::SettingsGui) {
|
||||
m_ui->setupUi(this);
|
||||
|
||||
m_ui->m_editorMessagesToolbar->activeItemsWidget()->viewport()->installEventFilter(this);
|
||||
m_ui->m_editorFeedsToolbar->activeItemsWidget()->viewport()->installEventFilter(this);
|
||||
m_ui->m_editorMessagesToolbar->availableItemsWidget()->viewport()->installEventFilter(this);
|
||||
m_ui->m_editorFeedsToolbar->availableItemsWidget()->viewport()->installEventFilter(this);
|
||||
|
||||
m_ui->m_treeSkins->setColumnCount(4);
|
||||
m_ui->m_treeSkins->setHeaderHidden(false);
|
||||
m_ui->m_treeSkins->setHeaderLabels(QStringList()
|
||||
<< /*: Skin list name column. */ tr("Name")
|
||||
<< /*: Version column of skin list. */ tr("Version")
|
||||
<< tr("Author")
|
||||
<< tr("E-mail"));
|
||||
|
||||
// Setup skins.
|
||||
m_ui->m_treeSkins->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
|
||||
m_ui->m_treeSkins->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
|
||||
m_ui->m_treeSkins->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
|
||||
m_ui->m_treeSkins->header()->setSectionResizeMode(3, QHeaderView::ResizeToContents);
|
||||
|
||||
connect(m_ui->m_treeSkins, &QTreeWidget::currentItemChanged, this, &SettingsGui::onSkinSelected);
|
||||
connect(m_ui->m_cmbSelectToolBar, static_cast<void (QComboBox::*)(int)>(&QComboBox::currentIndexChanged), m_ui->m_stackedToolbars, &QStackedWidget::setCurrentIndex);
|
||||
}
|
||||
|
||||
SettingsGui::~SettingsGui()
|
||||
{
|
||||
delete ui;
|
||||
SettingsGui::~SettingsGui() {
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
void SettingsGui::loadSettings() {
|
||||
onBeginLoadSettings();
|
||||
|
||||
// Load settings of tray icon.
|
||||
if (SystemTrayIcon::isSystemTrayAvailable()) {
|
||||
m_ui->m_grpTray->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::UseTrayIcon)).toBool());
|
||||
}
|
||||
// Tray icon is not supported on this machine.
|
||||
else {
|
||||
m_ui->m_grpTray->setTitle(m_ui->m_grpTray->title() + QL1C(' ') + tr("(Tray icon is not available.)"));
|
||||
m_ui->m_grpTray->setChecked(false);
|
||||
}
|
||||
|
||||
m_ui->m_checkHidden->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::MainWindowStartsHidden)).toBool());
|
||||
m_ui->m_checkHideWhenMinimized->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::HideMainWindowWhenMinimized)).toBool());
|
||||
|
||||
// Load fancy notification settings.
|
||||
m_ui->m_checkEnableNotifications->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::EnableNotifications)).toBool());
|
||||
|
||||
// Load settings of icon theme.
|
||||
const QString current_theme = qApp->icons()->currentIconTheme();
|
||||
|
||||
foreach (const QString &icon_theme_name, qApp->icons()->installedIconThemes()) {
|
||||
if (icon_theme_name == APP_NO_THEME) {
|
||||
// Add just "no theme" on other systems.
|
||||
//: Label for disabling icon theme.
|
||||
m_ui->m_cmbIconTheme->addItem(tr("no icon theme/system icon theme"), APP_NO_THEME);
|
||||
}
|
||||
else {
|
||||
m_ui->m_cmbIconTheme->addItem(icon_theme_name, icon_theme_name);
|
||||
}
|
||||
}
|
||||
|
||||
// Mark active theme.
|
||||
if (current_theme == QSL(APP_NO_THEME)) {
|
||||
// Because "no icon theme" lies at the index 0.
|
||||
m_ui->m_cmbIconTheme->setCurrentIndex(0);
|
||||
}
|
||||
else {
|
||||
m_ui->m_cmbIconTheme->setCurrentText(current_theme);
|
||||
}
|
||||
|
||||
// Load skin.
|
||||
const QString selected_skin = qApp->skins()->selectedSkinName();
|
||||
|
||||
foreach (const Skin &skin, qApp->skins()->installedSkins()) {
|
||||
QTreeWidgetItem *new_item = new QTreeWidgetItem(QStringList() <<
|
||||
skin.m_visibleName <<
|
||||
skin.m_version <<
|
||||
skin.m_author <<
|
||||
skin.m_email);
|
||||
new_item->setData(0, Qt::UserRole, QVariant::fromValue(skin));
|
||||
|
||||
// Add this skin and mark it as active if its active now.
|
||||
m_ui->m_treeSkins->addTopLevelItem(new_item);
|
||||
|
||||
if (skin.m_baseName == selected_skin) {
|
||||
m_ui->m_treeSkins->setCurrentItem(new_item);
|
||||
m_ui->m_lblActiveContents->setText(skin.m_visibleName);
|
||||
}
|
||||
}
|
||||
|
||||
if (m_ui->m_treeSkins->currentItem() == nullptr &&
|
||||
m_ui->m_treeSkins->topLevelItemCount() > 0) {
|
||||
// Currently active skin is NOT available, select another one as selected
|
||||
// if possible.
|
||||
m_ui->m_treeSkins->setCurrentItem(m_ui->m_treeSkins->topLevelItem(0));
|
||||
}
|
||||
|
||||
// Load tab settings.
|
||||
m_ui->m_checkCloseTabsMiddleClick->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::TabCloseMiddleClick)).toBool());
|
||||
m_ui->m_checkCloseTabsDoubleClick->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::TabCloseDoubleClick)).toBool());
|
||||
m_ui->m_checkNewTabDoubleClick->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::TabNewDoubleClick)).toBool());
|
||||
m_ui->m_hideTabBarIfOneTabVisible->setChecked(settings()->value(GROUP(GUI), SETTING(GUI::HideTabBarIfOnlyOneTab)).toBool());
|
||||
|
||||
// Load toolbar button style.
|
||||
m_ui->m_cmbToolbarButtonStyle->addItem(tr("Icon only"), Qt::ToolButtonIconOnly);
|
||||
m_ui->m_cmbToolbarButtonStyle->addItem(tr("Text only"), Qt::ToolButtonTextOnly);
|
||||
m_ui->m_cmbToolbarButtonStyle->addItem(tr("Text beside icon"), Qt::ToolButtonTextBesideIcon);
|
||||
m_ui->m_cmbToolbarButtonStyle->addItem(tr("Text under icon"), Qt::ToolButtonTextUnderIcon);
|
||||
m_ui->m_cmbToolbarButtonStyle->addItem(tr("Follow OS style"), Qt::ToolButtonFollowStyle);
|
||||
|
||||
m_ui->m_cmbToolbarButtonStyle->setCurrentIndex(m_ui->m_cmbToolbarButtonStyle->findData(settings()->value(GROUP(GUI),
|
||||
SETTING(GUI::ToolbarStyle)).toInt()));
|
||||
|
||||
// Load toolbars.
|
||||
m_ui->m_editorFeedsToolbar->loadFromToolBar(qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsToolBar());
|
||||
m_ui->m_editorMessagesToolbar->loadFromToolBar(qApp->mainForm()->tabWidget()->feedMessageViewer()->messagesToolBar());
|
||||
m_ui->m_editorStatusbar->loadFromToolBar(qApp->mainForm()->statusBar());
|
||||
|
||||
onEndLoadSettings();
|
||||
}
|
||||
|
||||
void SettingsGui::saveSettings() {
|
||||
onBeginSaveSettings();
|
||||
|
||||
// Save toolbar.
|
||||
settings()->setValue(GROUP(GUI), GUI::ToolbarStyle, m_ui->m_cmbToolbarButtonStyle->itemData(m_ui->m_cmbToolbarButtonStyle->currentIndex()));
|
||||
|
||||
// Save tray icon.
|
||||
if (SystemTrayIcon::isSystemTrayAvailable()) {
|
||||
settings()->setValue(GROUP(GUI), GUI::UseTrayIcon, m_ui->m_grpTray->isChecked());
|
||||
|
||||
if (m_ui->m_grpTray->isChecked()) {
|
||||
qApp->showTrayIcon();
|
||||
}
|
||||
else {
|
||||
qApp->deleteTrayIcon();
|
||||
}
|
||||
}
|
||||
|
||||
settings()->setValue(GROUP(GUI), GUI::MainWindowStartsHidden, m_ui->m_checkHidden->isChecked());
|
||||
settings()->setValue(GROUP(GUI), GUI::HideMainWindowWhenMinimized, m_ui->m_checkHideWhenMinimized->isChecked());
|
||||
|
||||
// Save notifications.
|
||||
settings()->setValue(GROUP(GUI), GUI::EnableNotifications, m_ui->m_checkEnableNotifications->isChecked());
|
||||
|
||||
// Save selected icon theme.
|
||||
QString selected_icon_theme = m_ui->m_cmbIconTheme->itemData(m_ui->m_cmbIconTheme->currentIndex()).toString();
|
||||
QString original_icon_theme = qApp->icons()->currentIconTheme();
|
||||
qApp->icons()->setCurrentIconTheme(selected_icon_theme);
|
||||
|
||||
// Check if icon theme was changed.
|
||||
if (selected_icon_theme != original_icon_theme) {
|
||||
requireRestart();
|
||||
}
|
||||
|
||||
// Save and activate new skin.
|
||||
if (m_ui->m_treeSkins->selectedItems().size() > 0) {
|
||||
const Skin active_skin = m_ui->m_treeSkins->currentItem()->data(0, Qt::UserRole).value<Skin>();
|
||||
|
||||
if (qApp->skins()->selectedSkinName() != active_skin.m_baseName) {
|
||||
qApp->skins()->setCurrentSkinName(active_skin.m_baseName);
|
||||
requireRestart();
|
||||
}
|
||||
}
|
||||
|
||||
// Save tab settings.
|
||||
settings()->setValue(GROUP(GUI), GUI::TabCloseMiddleClick, m_ui->m_checkCloseTabsMiddleClick->isChecked());
|
||||
settings()->setValue(GROUP(GUI), GUI::TabCloseDoubleClick, m_ui->m_checkCloseTabsDoubleClick->isChecked());
|
||||
settings()->setValue(GROUP(GUI), GUI::TabNewDoubleClick, m_ui->m_checkNewTabDoubleClick->isChecked());
|
||||
settings()->setValue(GROUP(GUI), GUI::HideTabBarIfOnlyOneTab, m_ui->m_hideTabBarIfOneTabVisible->isChecked());
|
||||
|
||||
m_ui->m_editorFeedsToolbar->saveToolBar();
|
||||
m_ui->m_editorMessagesToolbar->saveToolBar();
|
||||
m_ui->m_editorStatusbar->saveToolBar();
|
||||
|
||||
qApp->mainForm()->tabWidget()->checkTabBarVisibility();
|
||||
qApp->mainForm()->tabWidget()->feedMessageViewer()->refreshVisualProperties();
|
||||
|
||||
onEndSaveSettings();
|
||||
}
|
||||
|
||||
void SettingsGui::onSkinSelected(QTreeWidgetItem *current, QTreeWidgetItem *previous) {
|
||||
Q_UNUSED(previous)
|
||||
|
||||
if (current != nullptr) {
|
||||
const Skin skin = current->data(0, Qt::UserRole).value<Skin>();
|
||||
m_ui->m_lblSelectedContents->setText(skin.m_visibleName);
|
||||
}
|
||||
}
|
||||
|
@ -1,22 +1,26 @@
|
||||
#ifndef SETTINGSGUI_H
|
||||
#define SETTINGSGUI_H
|
||||
|
||||
#include <QWidget>
|
||||
#include "gui/settings/settingspanel.h"
|
||||
|
||||
namespace Ui {
|
||||
class SettingsGui;
|
||||
}
|
||||
#include "ui_settingsgui.h"
|
||||
|
||||
class SettingsGui : public QWidget
|
||||
{
|
||||
|
||||
class SettingsGui : public SettingsPanel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit SettingsGui(QWidget *parent = 0);
|
||||
~SettingsGui();
|
||||
explicit SettingsGui(Settings *settings, QWidget *parent = 0);
|
||||
virtual ~SettingsGui();
|
||||
|
||||
void loadSettings();
|
||||
void saveSettings();
|
||||
|
||||
private slots:
|
||||
void onSkinSelected(QTreeWidgetItem *current, QTreeWidgetItem *previous);
|
||||
|
||||
private:
|
||||
Ui::SettingsGui *ui;
|
||||
Ui::SettingsGui *m_ui;
|
||||
};
|
||||
|
||||
#endif // SETTINGSGUI_H
|
||||
|
@ -1,14 +1,68 @@
|
||||
#include "settingslocalization.h"
|
||||
#include "ui_settingslocalization.h"
|
||||
#include "gui/settings/settingslocalization.h"
|
||||
|
||||
SettingsLocalization::SettingsLocalization(QWidget *parent) :
|
||||
QWidget(parent),
|
||||
ui(new Ui::SettingsLocalization)
|
||||
{
|
||||
ui->setupUi(this);
|
||||
#include "miscellaneous/localization.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/iconfactory.h"
|
||||
|
||||
|
||||
SettingsLocalization::SettingsLocalization(Settings *settings, QWidget *parent)
|
||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsLocalization) {
|
||||
m_ui->setupUi(this);
|
||||
|
||||
m_ui->m_treeLanguages->setColumnCount(3);
|
||||
m_ui->m_treeLanguages->setHeaderHidden(false);
|
||||
m_ui->m_treeLanguages->setHeaderLabels(QStringList()
|
||||
<< /*: Language column of language list. */ tr("Language")
|
||||
<< /*: Lang. code column of language list. */ tr("Code")
|
||||
<< tr("Author"));
|
||||
|
||||
// Setup languages.
|
||||
m_ui->m_treeLanguages->header()->setSectionResizeMode(0, QHeaderView::ResizeToContents);
|
||||
m_ui->m_treeLanguages->header()->setSectionResizeMode(1, QHeaderView::ResizeToContents);
|
||||
m_ui->m_treeLanguages->header()->setSectionResizeMode(2, QHeaderView::ResizeToContents);
|
||||
}
|
||||
|
||||
SettingsLocalization::~SettingsLocalization()
|
||||
{
|
||||
delete ui;
|
||||
SettingsLocalization::~SettingsLocalization() {
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
void SettingsLocalization::loadSettings() {
|
||||
onBeginLoadSettings();
|
||||
|
||||
foreach (const Language &language, qApp->localization()->installedLanguages()) {
|
||||
QTreeWidgetItem *item = new QTreeWidgetItem(m_ui->m_treeLanguages);
|
||||
item->setText(0, language.m_name);
|
||||
item->setText(1, language.m_code);
|
||||
item->setText(2, language.m_author);
|
||||
item->setIcon(0, qApp->icons()->miscIcon(QString(FLAG_ICON_SUBFOLDER) + QDir::separator() + language.m_code));
|
||||
}
|
||||
|
||||
QList<QTreeWidgetItem*> matching_items = m_ui->m_treeLanguages->findItems(qApp->localization()->loadedLanguage(), Qt::MatchContains, 1);
|
||||
|
||||
if (!matching_items.isEmpty()) {
|
||||
m_ui->m_treeLanguages->setCurrentItem(matching_items[0]);
|
||||
}
|
||||
|
||||
onEndLoadSettings();
|
||||
}
|
||||
|
||||
void SettingsLocalization::saveSettings() {
|
||||
onBeginSaveSettings();
|
||||
|
||||
if (m_ui->m_treeLanguages->currentItem() == nullptr) {
|
||||
qDebug("No localizations loaded in settings dialog, so no saving for them.");
|
||||
return;
|
||||
}
|
||||
|
||||
const QString actual_lang = qApp->localization()->loadedLanguage();
|
||||
const QString new_lang = m_ui->m_treeLanguages->currentItem()->text(1);
|
||||
|
||||
// Save prompt for restart if language has changed.
|
||||
if (new_lang != actual_lang) {
|
||||
requireRestart();
|
||||
settings()->setValue(GROUP(General), General::Language, new_lang);
|
||||
}
|
||||
|
||||
onEndSaveSettings();
|
||||
}
|
||||
|
@ -1,22 +1,23 @@
|
||||
#ifndef SETTINGSLOCALIZATION_H
|
||||
#define SETTINGSLOCALIZATION_H
|
||||
|
||||
#include <QWidget>
|
||||
#include "gui/settings/settingspanel.h"
|
||||
|
||||
namespace Ui {
|
||||
class SettingsLocalization;
|
||||
}
|
||||
#include "ui_settingslocalization.h"
|
||||
|
||||
class SettingsLocalization : public QWidget
|
||||
{
|
||||
|
||||
class SettingsLocalization : public SettingsPanel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit SettingsLocalization(QWidget *parent = 0);
|
||||
~SettingsLocalization();
|
||||
explicit SettingsLocalization(Settings *settings, QWidget *parent = 0);
|
||||
virtual ~SettingsLocalization();
|
||||
|
||||
void loadSettings();
|
||||
void saveSettings();
|
||||
|
||||
private:
|
||||
Ui::SettingsLocalization *ui;
|
||||
Ui::SettingsLocalization *m_ui;
|
||||
};
|
||||
|
||||
#endif // SETTINGSLOCALIZATION_H
|
||||
|
@ -21,7 +21,7 @@
|
||||
|
||||
|
||||
SettingsPanel::SettingsPanel(Settings *settings, QWidget *parent)
|
||||
: QWidget(parent), m_isDirty(false), m_isLoading(false), m_settings(settings) {
|
||||
: QWidget(parent), m_requiresRestart(false), m_isDirty(false), m_isLoading(false), m_settings(settings) {
|
||||
}
|
||||
|
||||
void SettingsPanel::onBeginLoadSettings() {
|
||||
@ -30,6 +30,8 @@ void SettingsPanel::onBeginLoadSettings() {
|
||||
|
||||
void SettingsPanel::onEndLoadSettings() {
|
||||
m_isLoading = false;
|
||||
|
||||
setRequiresRestart(false);
|
||||
setIsDirty(false);
|
||||
}
|
||||
|
||||
@ -38,6 +40,7 @@ void SettingsPanel::onBeginSaveSettings() {
|
||||
|
||||
void SettingsPanel::onEndSaveSettings() {
|
||||
setIsDirty(false);
|
||||
setRequiresRestart(false);
|
||||
}
|
||||
|
||||
void SettingsPanel::dirtifySettings() {
|
||||
@ -47,6 +50,18 @@ void SettingsPanel::dirtifySettings() {
|
||||
}
|
||||
}
|
||||
|
||||
bool SettingsPanel::requiresRestart() const {
|
||||
return m_requiresRestart;
|
||||
}
|
||||
|
||||
void SettingsPanel::setRequiresRestart(bool requiresRestart) {
|
||||
m_requiresRestart = requiresRestart;
|
||||
}
|
||||
|
||||
void SettingsPanel::requireRestart() {
|
||||
setRequiresRestart(true);
|
||||
}
|
||||
|
||||
bool SettingsPanel::isDirty() const {
|
||||
return m_isDirty;
|
||||
}
|
||||
|
@ -32,16 +32,15 @@ class SettingsPanel : public QWidget {
|
||||
virtual void loadSettings() = 0;
|
||||
virtual void saveSettings() = 0;
|
||||
|
||||
bool requiresRestart() const;
|
||||
bool isDirty() const;
|
||||
|
||||
protected:
|
||||
void onBeginLoadSettings();
|
||||
void onEndLoadSettings();
|
||||
void onBeginSaveSettings();
|
||||
void onEndSaveSettings();
|
||||
|
||||
// These methods should not be probably called by subclasses.
|
||||
bool isDirty() const;
|
||||
void setIsDirty(bool is_dirty);
|
||||
|
||||
// Settings to use to save/load.
|
||||
Settings *settings() const;
|
||||
|
||||
@ -50,10 +49,16 @@ class SettingsPanel : public QWidget {
|
||||
// NOTE: This will be probably called by subclasses when user changes some stuff.
|
||||
void dirtifySettings();
|
||||
|
||||
// These methods should not be probably called by subclasses.
|
||||
void setIsDirty(bool is_dirty);
|
||||
void setRequiresRestart(bool requiresRestart);
|
||||
void requireRestart();
|
||||
|
||||
signals:
|
||||
void settingsChanged();
|
||||
|
||||
private:
|
||||
bool m_requiresRestart;
|
||||
bool m_isDirty;
|
||||
bool m_isLoading;
|
||||
Settings *m_settings;
|
||||
|
@ -1,8 +1,12 @@
|
||||
#include "gui/settings/settingsshortcuts.h"
|
||||
|
||||
#include "gui/dialogs/formmain.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "dynamic-shortcuts/dynamicshortcuts.h"
|
||||
|
||||
SettingsShortcuts::SettingsShortcuts(QWidget *parent)
|
||||
: QWidget(parent), m_ui(new Ui::SettingsShortcuts) {
|
||||
|
||||
SettingsShortcuts::SettingsShortcuts(Settings *settings, QWidget *parent)
|
||||
: SettingsPanel(settings, parent), m_ui(new Ui::SettingsShortcuts) {
|
||||
m_ui->setupUi(this);
|
||||
}
|
||||
|
||||
@ -12,14 +16,13 @@ SettingsShortcuts::~SettingsShortcuts() {
|
||||
|
||||
void SettingsShortcuts::loadSettings() {
|
||||
onBeginLoadSettings();
|
||||
|
||||
|
||||
m_ui->m_shortcuts->populate(qApp->mainForm()->allActions());
|
||||
onEndLoadSettings();
|
||||
}
|
||||
|
||||
void SettingsShortcuts::saveSettings() {
|
||||
onBeginSaveSettings();
|
||||
|
||||
|
||||
m_ui->m_shortcuts->updateShortcuts();
|
||||
DynamicShortcuts::save(qApp->mainForm()->allActions());
|
||||
onEndSaveSettings();
|
||||
}
|
||||
|
@ -10,7 +10,7 @@ class SettingsShortcuts : public SettingsPanel {
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit SettingsShortcuts(QWidget *parent = 0);
|
||||
explicit SettingsShortcuts(Settings *settings, QWidget *parent = 0);
|
||||
virtual ~SettingsShortcuts();
|
||||
|
||||
void loadSettings();
|
||||
|
Loading…
x
Reference in New Issue
Block a user