Refactoring, new shortcuts, fixing.
This commit is contained in:
parent
ca766c9bc5
commit
959f4e04af
@ -354,6 +354,7 @@ set(APP_SOURCES
|
||||
src/dynamic-shortcuts/dynamicshortcuts.cpp
|
||||
|
||||
# MISCELLANEOUS sources.
|
||||
src/miscellaneous/application.cpp
|
||||
src/miscellaneous/debugging.cpp
|
||||
src/miscellaneous/settings.cpp
|
||||
src/miscellaneous/systemfactory.cpp
|
||||
@ -387,7 +388,6 @@ set(APP_SOURCES
|
||||
src/network-web/downloader.cpp
|
||||
|
||||
# MAIN sources.
|
||||
src/application.cpp
|
||||
src/main.cpp
|
||||
)
|
||||
|
||||
@ -436,6 +436,7 @@ set(APP_HEADERS
|
||||
src/dynamic-shortcuts/shortcutbutton.h
|
||||
|
||||
# MISCELLANEOUS headers.
|
||||
src/miscellaneous/application.h
|
||||
src/miscellaneous/settings.h
|
||||
src/miscellaneous/localization.h
|
||||
src/miscellaneous/systemfactory.h
|
||||
@ -459,9 +460,6 @@ set(APP_HEADERS
|
||||
src/network-web/webbrowser.h
|
||||
src/network-web/webview.h
|
||||
src/network-web/downloader.h
|
||||
|
||||
# MAIN headers.
|
||||
src/application.h
|
||||
)
|
||||
|
||||
# APP form files.
|
||||
|
@ -56,6 +56,7 @@ RSS Guard is written in C++. It is pretty fast even with tons of messages loaded
|
||||
* MySQL.
|
||||
* “portable” mode support,
|
||||
* feed categorization,
|
||||
* can be fully controlled via keyboard,
|
||||
* feed authentication (Digest-MD5, BASIC, NTLM-2),
|
||||
* handles tons of messages & feeds,
|
||||
* sweet look & feel,
|
||||
|
@ -3,7 +3,7 @@
|
||||
|
||||
Fixed:
|
||||
<ul>
|
||||
<li>/li>
|
||||
<li>Improved behavior of updater.</li>
|
||||
</ul>
|
||||
|
||||
Added:
|
||||
|
@ -17,7 +17,7 @@
|
||||
|
||||
#include "core/feedsmodelrootitem.h"
|
||||
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QVariant>
|
||||
|
||||
|
2
src/core/messagesmodel.cpp
Normal file → Executable file
2
src/core/messagesmodel.cpp
Normal file → Executable file
@ -18,10 +18,10 @@
|
||||
#include "core/messagesmodel.h"
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/textfactory.h"
|
||||
#include "miscellaneous/databasefactory.h"
|
||||
#include "miscellaneous/iconfactory.h"
|
||||
#include "application.h"
|
||||
|
||||
#include <QSqlRecord>
|
||||
#include <QSqlError>
|
||||
|
2
src/dynamic-shortcuts/dynamicshortcuts.cpp
Normal file → Executable file
2
src/dynamic-shortcuts/dynamicshortcuts.cpp
Normal file → Executable file
@ -18,8 +18,8 @@
|
||||
#include "dynamic-shortcuts/dynamicshortcuts.h"
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "application.h"
|
||||
|
||||
#include <QAction>
|
||||
|
||||
|
8
src/gui/feedmessageviewer.cpp
Normal file → Executable file
8
src/gui/feedmessageviewer.cpp
Normal file → Executable file
@ -163,7 +163,7 @@ void FeedMessageViewer::updateTrayIconStatus(int unread_messages,
|
||||
|
||||
void FeedMessageViewer::onFeedUpdatesStarted() {
|
||||
//: Text display in status bar when feed update is started.
|
||||
FormMain::instance()->statusBar()->showProgress(0, tr("Feed update started"));
|
||||
qApp->mainForm()->statusBar()->showProgress(0, tr("Feed update started"));
|
||||
}
|
||||
|
||||
void FeedMessageViewer::onFeedUpdatesProgress(FeedsModelFeed *feed,
|
||||
@ -171,7 +171,7 @@ void FeedMessageViewer::onFeedUpdatesProgress(FeedsModelFeed *feed,
|
||||
int total) {
|
||||
// Some feed got updated.
|
||||
m_feedsView->updateCountsOfParticularFeed(feed, true);
|
||||
FormMain::instance()->statusBar()->showProgress((current * 100.0) / total,
|
||||
qApp->mainForm()->statusBar()->showProgress((current * 100.0) / total,
|
||||
//: Text display in status bar when particular feed is updated.
|
||||
tr("Updated feed '%1'").arg(feed->title()));
|
||||
}
|
||||
@ -181,7 +181,7 @@ void FeedMessageViewer::onFeedUpdatesFinished() {
|
||||
qApp->closeLock()->unlock();
|
||||
|
||||
// And also hide progress bar.
|
||||
FormMain::instance()->statusBar()->clearProgress();
|
||||
qApp->mainForm()->statusBar()->clearProgress();
|
||||
|
||||
// TODO: Check integrity and conformance of this.
|
||||
m_messagesView->reloadSelections(1);
|
||||
@ -192,7 +192,7 @@ void FeedMessageViewer::switchFeedComponentVisibility() {
|
||||
}
|
||||
|
||||
void FeedMessageViewer::createConnections() {
|
||||
FormMain *form_main = FormMain::instance();
|
||||
FormMain *form_main = qApp->mainForm();
|
||||
|
||||
// Filtering & searching.
|
||||
connect(m_toolBarMessages, SIGNAL(messageSearchPatternChanged(QString)),
|
||||
|
12
src/gui/feedstoolbar.cpp
Normal file → Executable file
12
src/gui/feedstoolbar.cpp
Normal file → Executable file
@ -17,8 +17,9 @@
|
||||
|
||||
#include "gui/feedstoolbar.h"
|
||||
|
||||
#include "gui/formmain.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "miscellaneous/iconfactory.h"
|
||||
|
||||
|
||||
FeedsToolBar::FeedsToolBar(const QString &title, QWidget *parent) : BaseToolBar(title, parent) {
|
||||
@ -32,7 +33,14 @@ FeedsToolBar::~FeedsToolBar() {
|
||||
}
|
||||
|
||||
QHash<QString, QAction*> FeedsToolBar::availableActions() const {
|
||||
return FormMain::instance()->allActions();;
|
||||
QList<QAction*> application_actions = qApp->userActions();
|
||||
QHash<QString, QAction*> available_actions;
|
||||
|
||||
foreach (QAction *application_action, application_actions) {
|
||||
available_actions.insert(application_action->objectName(), application_action);
|
||||
}
|
||||
|
||||
return available_actions;
|
||||
}
|
||||
|
||||
QList<QAction*> FeedsToolBar::changeableActions() const {
|
||||
|
16
src/gui/feedsview.cpp
Normal file → Executable file
16
src/gui/feedsview.cpp
Normal file → Executable file
@ -470,19 +470,19 @@ void FeedsView::selectPreviousItem() {
|
||||
void FeedsView::initializeContextMenuCategoriesFeeds() {
|
||||
m_contextMenuCategoriesFeeds = new QMenu(tr("Context menu for feeds"), this);
|
||||
m_contextMenuCategoriesFeeds->addActions(QList<QAction*>() <<
|
||||
FormMain::instance()->m_ui->m_actionUpdateSelectedFeedsCategories <<
|
||||
FormMain::instance()->m_ui->m_actionEditSelectedFeedCategory <<
|
||||
FormMain::instance()->m_ui->m_actionViewSelectedItemsNewspaperMode <<
|
||||
FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsRead <<
|
||||
FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsUnread);
|
||||
qApp->mainForm()->m_ui->m_actionUpdateSelectedFeedsCategories <<
|
||||
qApp->mainForm()->m_ui->m_actionEditSelectedFeedCategory <<
|
||||
qApp->mainForm()->m_ui->m_actionViewSelectedItemsNewspaperMode <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedFeedsAsRead <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedFeedsAsUnread);
|
||||
}
|
||||
|
||||
void FeedsView::initializeContextMenuEmptySpace() {
|
||||
m_contextMenuEmptySpace = new QMenu(tr("Context menu for feeds"), this);
|
||||
m_contextMenuEmptySpace->addActions(QList<QAction*>() <<
|
||||
FormMain::instance()->m_ui->m_actionUpdateAllFeeds <<
|
||||
FormMain::instance()->m_ui->m_actionAddCategory <<
|
||||
FormMain::instance()->m_ui->m_actionAddFeed);
|
||||
qApp->mainForm()->m_ui->m_actionUpdateAllFeeds <<
|
||||
qApp->mainForm()->m_ui->m_actionAddCategory <<
|
||||
qApp->mainForm()->m_ui->m_actionAddFeed);
|
||||
}
|
||||
|
||||
void FeedsView::setupAppearance() {
|
||||
|
@ -19,6 +19,7 @@
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/systemfactory.h"
|
||||
#include "miscellaneous/databasefactory.h"
|
||||
#include "miscellaneous/iconfactory.h"
|
||||
@ -33,7 +34,6 @@
|
||||
#include "gui/statusbar.h"
|
||||
#include "gui/feedmessageviewer.h"
|
||||
#include "gui/formupdate.h"
|
||||
#include "application.h"
|
||||
|
||||
#include <QCloseEvent>
|
||||
#include <QSessionManager>
|
||||
@ -43,14 +43,10 @@
|
||||
#include <QTimer>
|
||||
|
||||
|
||||
FormMain *FormMain::s_instance;
|
||||
|
||||
FormMain::FormMain(QWidget *parent, Qt::WindowFlags f)
|
||||
: QMainWindow(parent, f), m_ui(new Ui::FormMain) {
|
||||
m_ui->setupUi(this);
|
||||
|
||||
// Initialize singleton.
|
||||
s_instance = this;
|
||||
qApp->setMainForm(this);
|
||||
|
||||
m_statusBar = new StatusBar(this);
|
||||
setStatusBar(m_statusBar);
|
||||
@ -64,7 +60,7 @@ FormMain::FormMain(QWidget *parent, Qt::WindowFlags f)
|
||||
// Add these actions to the list of actions of the main window.
|
||||
// This allows to use actions via shortcuts
|
||||
// even if main menu is not visible.
|
||||
addActions(allActions().values());
|
||||
addActions(allActions());
|
||||
|
||||
// Prepare tabs.
|
||||
m_ui->m_tabWidget->initializeTabs();
|
||||
@ -81,58 +77,51 @@ FormMain::~FormMain() {
|
||||
delete m_ui;
|
||||
}
|
||||
|
||||
FormMain *FormMain::instance() {
|
||||
return s_instance;
|
||||
}
|
||||
|
||||
QHash<QString, QAction*> FormMain::allActions() {
|
||||
// TODO: nevytvaret pokazde novej hash ale udelat jeden
|
||||
// a ten pak pouzivat.
|
||||
// tohle by mohl bejt kandidat
|
||||
QHash<QString, QAction*> actions;
|
||||
QList<QAction*> FormMain::allActions() {
|
||||
QList<QAction*> actions;
|
||||
|
||||
// Add basic actions.
|
||||
actions.insert(m_ui->m_actionSettings->objectName(), m_ui->m_actionSettings);
|
||||
actions.insert(m_ui->m_actionImportFeeds->objectName(), m_ui->m_actionImportFeeds);
|
||||
actions.insert(m_ui->m_actionExportFeeds->objectName(), m_ui->m_actionExportFeeds);
|
||||
actions.insert(m_ui->m_actionQuit->objectName(), m_ui->m_actionQuit);
|
||||
actions.insert(m_ui->m_actionFullscreen->objectName(), m_ui->m_actionFullscreen);
|
||||
actions.insert(m_ui->m_actionAboutGuard->objectName(), m_ui->m_actionAboutGuard);
|
||||
actions.insert(m_ui->m_actionSwitchFeedsList->objectName(), m_ui->m_actionSwitchFeedsList);
|
||||
actions.insert(m_ui->m_actionSwitchMainWindow->objectName(), m_ui->m_actionSwitchMainWindow);
|
||||
actions.insert(m_ui->m_actionSwitchMainMenu->objectName(), m_ui->m_actionSwitchMainMenu);
|
||||
actions.insert(m_ui->m_actionSwitchToolBars->objectName(), m_ui->m_actionSwitchToolBars);
|
||||
actions.insert(m_ui->m_actionSwitchListHeaders->objectName(), m_ui->m_actionSwitchListHeaders);
|
||||
actions << m_ui->m_actionSettings;
|
||||
actions << m_ui->m_actionImportFeeds;
|
||||
actions << m_ui->m_actionExportFeeds;
|
||||
actions << m_ui->m_actionQuit;
|
||||
actions << m_ui->m_actionFullscreen;
|
||||
actions << m_ui->m_actionAboutGuard;
|
||||
actions << m_ui->m_actionSwitchFeedsList;
|
||||
actions << m_ui->m_actionSwitchMainWindow;
|
||||
actions << m_ui->m_actionSwitchMainMenu;
|
||||
actions << m_ui->m_actionSwitchToolBars;
|
||||
actions << m_ui->m_actionSwitchListHeaders;
|
||||
|
||||
// Add web browser actions
|
||||
actions.insert(m_ui->m_actionAddBrowser->objectName(), m_ui->m_actionAddBrowser);
|
||||
actions.insert(m_ui->m_actionCloseCurrentTab->objectName(), m_ui->m_actionCloseCurrentTab);
|
||||
actions.insert(m_ui->m_actionCloseAllTabs->objectName(), m_ui->m_actionCloseAllTabs);
|
||||
actions << m_ui->m_actionAddBrowser;
|
||||
actions << m_ui->m_actionCloseCurrentTab;
|
||||
actions << m_ui->m_actionCloseAllTabs;
|
||||
|
||||
// Add feeds/messages actions.
|
||||
actions.insert(m_ui->m_actionOpenSelectedSourceArticlesExternally->objectName(), m_ui->m_actionOpenSelectedSourceArticlesExternally);
|
||||
actions.insert(m_ui->m_actionOpenSelectedSourceArticlesInternally->objectName(), m_ui->m_actionOpenSelectedSourceArticlesInternally);
|
||||
actions.insert(m_ui->m_actionOpenSelectedMessagesInternally->objectName(), m_ui->m_actionOpenSelectedMessagesInternally);
|
||||
actions.insert(m_ui->m_actionMarkAllFeedsRead->objectName(), m_ui->m_actionMarkAllFeedsRead);
|
||||
actions.insert(m_ui->m_actionMarkSelectedFeedsAsRead->objectName(), m_ui->m_actionMarkSelectedFeedsAsRead);
|
||||
actions.insert(m_ui->m_actionMarkSelectedFeedsAsUnread->objectName(), m_ui->m_actionMarkSelectedFeedsAsUnread);
|
||||
actions.insert(m_ui->m_actionClearSelectedFeeds->objectName(), m_ui->m_actionClearSelectedFeeds);
|
||||
actions.insert(m_ui->m_actionMarkSelectedMessagesAsRead->objectName(), m_ui->m_actionMarkSelectedMessagesAsRead);
|
||||
actions.insert(m_ui->m_actionMarkSelectedMessagesAsUnread->objectName(), m_ui->m_actionMarkSelectedMessagesAsUnread);
|
||||
actions.insert(m_ui->m_actionSwitchImportanceOfSelectedMessages->objectName(), m_ui->m_actionSwitchImportanceOfSelectedMessages);
|
||||
actions.insert(m_ui->m_actionDeleteSelectedMessages->objectName(), m_ui->m_actionDeleteSelectedMessages);
|
||||
actions.insert(m_ui->m_actionUpdateAllFeeds->objectName(), m_ui->m_actionUpdateAllFeeds);
|
||||
actions.insert(m_ui->m_actionUpdateSelectedFeedsCategories->objectName(), m_ui->m_actionUpdateSelectedFeedsCategories);
|
||||
actions.insert(m_ui->m_actionEditSelectedFeedCategory->objectName(), m_ui->m_actionEditSelectedFeedCategory);
|
||||
actions.insert(m_ui->m_actionDeleteSelectedFeedCategory->objectName(), m_ui->m_actionDeleteSelectedFeedCategory);
|
||||
actions.insert(m_ui->m_actionViewSelectedItemsNewspaperMode->objectName(), m_ui->m_actionViewSelectedItemsNewspaperMode);
|
||||
actions.insert(m_ui->m_actionAddCategory->objectName(), m_ui->m_actionAddCategory);
|
||||
actions.insert(m_ui->m_actionAddFeed->objectName(), m_ui->m_actionAddFeed);
|
||||
actions.insert(m_ui->m_actionSelectNextFeedCategory->objectName(), m_ui->m_actionSelectNextFeedCategory);
|
||||
actions.insert(m_ui->m_actionSelectPreviousFeedCategory->objectName(), m_ui->m_actionSelectPreviousFeedCategory);
|
||||
actions.insert(m_ui->m_actionSelectNextMessage->objectName(), m_ui->m_actionSelectNextMessage);
|
||||
actions.insert(m_ui->m_actionSelectPreviousMessage->objectName(), m_ui->m_actionSelectPreviousMessage);
|
||||
actions.insert(m_ui->m_actionDefragmentDatabase->objectName(), m_ui->m_actionDefragmentDatabase);
|
||||
actions << m_ui->m_actionOpenSelectedSourceArticlesExternally;
|
||||
actions << m_ui->m_actionOpenSelectedSourceArticlesInternally;
|
||||
actions << m_ui->m_actionOpenSelectedMessagesInternally;
|
||||
actions << m_ui->m_actionMarkAllFeedsRead;
|
||||
actions << m_ui->m_actionMarkSelectedFeedsAsRead;
|
||||
actions << m_ui->m_actionMarkSelectedFeedsAsUnread;
|
||||
actions << m_ui->m_actionClearSelectedFeeds;
|
||||
actions << m_ui->m_actionMarkSelectedMessagesAsRead;
|
||||
actions << m_ui->m_actionMarkSelectedMessagesAsUnread;
|
||||
actions << m_ui->m_actionSwitchImportanceOfSelectedMessages;
|
||||
actions << m_ui->m_actionDeleteSelectedMessages;
|
||||
actions << m_ui->m_actionUpdateAllFeeds;
|
||||
actions << m_ui->m_actionUpdateSelectedFeedsCategories;
|
||||
actions << m_ui->m_actionEditSelectedFeedCategory;
|
||||
actions << m_ui->m_actionDeleteSelectedFeedCategory;
|
||||
actions << m_ui->m_actionViewSelectedItemsNewspaperMode;
|
||||
actions << m_ui->m_actionAddCategory;
|
||||
actions << m_ui->m_actionAddFeed;
|
||||
actions << m_ui->m_actionSelectNextFeedCategory;
|
||||
actions << m_ui->m_actionSelectPreviousFeedCategory;
|
||||
actions << m_ui->m_actionSelectNextMessage;
|
||||
actions << m_ui->m_actionSelectPreviousMessage;
|
||||
actions << m_ui->m_actionDefragmentDatabase;
|
||||
|
||||
return actions;
|
||||
}
|
||||
|
7
src/gui/formmain.h
Normal file → Executable file
7
src/gui/formmain.h
Normal file → Executable file
@ -58,10 +58,7 @@ class FormMain : public QMainWindow {
|
||||
// Returns list of all globally available actions.
|
||||
// NOTE: This is used for setting dynamic shortcuts
|
||||
// for given actions.
|
||||
QHash<QString, QAction*> allActions();
|
||||
|
||||
// Singleton accessor.
|
||||
static FormMain *instance();
|
||||
QList<QAction*> allActions();
|
||||
|
||||
protected:
|
||||
// Creates all needed menus and sets them up.
|
||||
@ -120,8 +117,6 @@ class FormMain : public QMainWindow {
|
||||
Ui::FormMain *m_ui;
|
||||
QMenu *m_trayMenu;
|
||||
StatusBar *m_statusBar;
|
||||
|
||||
static FormMain *s_instance;
|
||||
};
|
||||
|
||||
#endif // FORMMAIN_H
|
||||
|
24
src/gui/formmain.ui
Normal file → Executable file
24
src/gui/formmain.ui
Normal file → Executable file
@ -178,7 +178,7 @@
|
||||
<string>Quit the application.</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+Q</string>
|
||||
<string notr="true">Ctrl+Q</string>
|
||||
</property>
|
||||
<property name="menuRole">
|
||||
<enum>QAction::QuitRole</enum>
|
||||
@ -228,7 +228,7 @@
|
||||
<string>Add new web browser tab.</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Shift+T</string>
|
||||
<string notr="true">Ctrl+T</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionCloseAllTabs">
|
||||
@ -259,6 +259,9 @@
|
||||
<property name="text">
|
||||
<string>Update &selected feeds</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+U</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionEditSelectedFeedCategory">
|
||||
<property name="text">
|
||||
@ -421,7 +424,7 @@
|
||||
<string>Select &next feed/category</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Down</string>
|
||||
<string notr="true">S</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionSelectPreviousFeedCategory">
|
||||
@ -429,7 +432,7 @@
|
||||
<string>Select &previous feed/category</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Ctrl+Up</string>
|
||||
<string notr="true">A</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionSelectNextMessage">
|
||||
@ -437,7 +440,7 @@
|
||||
<string>Select &next message</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Alt+Down</string>
|
||||
<string notr="true">W</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionSelectPreviousMessage">
|
||||
@ -445,7 +448,7 @@
|
||||
<string>Select &previous message</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">Alt+Up</string>
|
||||
<string notr="true">Q</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionCheckForUpdates">
|
||||
@ -480,6 +483,9 @@
|
||||
<property name="text">
|
||||
<string>Enable &JavaScript</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">J</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionWebEnableExternalPlugins">
|
||||
<property name="checkable">
|
||||
@ -488,6 +494,9 @@
|
||||
<property name="text">
|
||||
<string>Enable external &plugins</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">P</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionWebAutoloadImages">
|
||||
<property name="checkable">
|
||||
@ -496,6 +505,9 @@
|
||||
<property name="text">
|
||||
<string>Auto-load &images</string>
|
||||
</property>
|
||||
<property name="shortcut">
|
||||
<string notr="true">I</string>
|
||||
</property>
|
||||
</action>
|
||||
<action name="m_actionReportBug">
|
||||
<property name="text">
|
||||
|
@ -20,6 +20,7 @@
|
||||
#include "definitions/definitions.h"
|
||||
#include "core/feeddownloader.h"
|
||||
#include "core/feedsmodel.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "miscellaneous/databasefactory.h"
|
||||
#include "miscellaneous/localization.h"
|
||||
@ -39,7 +40,6 @@
|
||||
#include "gui/basetoolbar.h"
|
||||
#include "gui/messagestoolbar.h"
|
||||
#include "dynamic-shortcuts/dynamicshortcuts.h"
|
||||
#include "application.h"
|
||||
|
||||
#include <QProcess>
|
||||
#include <QNetworkProxy>
|
||||
@ -221,8 +221,8 @@ void FormSettings::saveFeedsMessages() {
|
||||
settings->setValue(APP_CFG_FEEDS, "feeds_update_on_startup", m_ui->m_checkUpdateAllFeedsOnStartup->isChecked());
|
||||
settings->setValue(APP_CFG_FEEDS, "count_format", m_ui->m_cmbCountsFeedList->currentText());
|
||||
|
||||
FormMain::instance()->tabWidget()->feedMessageViewer()->feedsView()->updateAutoUpdateStatus();
|
||||
FormMain::instance()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->reloadWholeLayout();
|
||||
qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->updateAutoUpdateStatus();
|
||||
qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsView()->sourceModel()->reloadWholeLayout();
|
||||
}
|
||||
|
||||
void FormSettings::displayProxyPassword(int state) {
|
||||
@ -472,7 +472,7 @@ void FormSettings::saveLanguage() {
|
||||
}
|
||||
|
||||
void FormSettings::loadShortcuts() {
|
||||
m_ui->m_shortcuts->populate(FormMain::instance()->allActions().values());
|
||||
m_ui->m_shortcuts->populate(qApp->mainForm()->allActions());
|
||||
}
|
||||
|
||||
void FormSettings::saveShortcuts() {
|
||||
@ -480,7 +480,7 @@ void FormSettings::saveShortcuts() {
|
||||
m_ui->m_shortcuts->updateShortcuts();
|
||||
|
||||
// Save new shortcuts to the settings.
|
||||
DynamicShortcuts::save(FormMain::instance()->allActions().values());
|
||||
DynamicShortcuts::save(qApp->mainForm()->allActions());
|
||||
}
|
||||
|
||||
void FormSettings::loadDataStorage() {
|
||||
@ -759,8 +759,8 @@ void FormSettings::loadInterface() {
|
||||
Qt::ToolButtonIconOnly).toInt()));
|
||||
|
||||
// Load toolbars.
|
||||
m_ui->m_editorFeedsToolbar->loadFromToolBar(FormMain::instance()->tabWidget()->feedMessageViewer()->feedsToolBar());
|
||||
m_ui->m_editorMessagesToolbar->loadFromToolBar(FormMain::instance()->tabWidget()->feedMessageViewer()->messagesToolBar());
|
||||
m_ui->m_editorFeedsToolbar->loadFromToolBar(qApp->mainForm()->tabWidget()->feedMessageViewer()->feedsToolBar());
|
||||
m_ui->m_editorMessagesToolbar->loadFromToolBar(qApp->mainForm()->tabWidget()->feedMessageViewer()->messagesToolBar());
|
||||
}
|
||||
|
||||
void FormSettings::saveInterface() {
|
||||
@ -823,6 +823,6 @@ void FormSettings::saveInterface() {
|
||||
m_ui->m_editorFeedsToolbar->saveToolBar();
|
||||
m_ui->m_editorMessagesToolbar->saveToolBar();
|
||||
|
||||
FormMain::instance()->tabWidget()->checkTabBarVisibility();
|
||||
FormMain::instance()->tabWidget()->feedMessageViewer()->refreshVisualProperties();
|
||||
qApp->mainForm()->tabWidget()->checkTabBarVisibility();
|
||||
qApp->mainForm()->tabWidget()->feedMessageViewer()->refreshVisualProperties();
|
||||
}
|
||||
|
2
src/gui/messagebox.cpp
Normal file → Executable file
2
src/gui/messagebox.cpp
Normal file → Executable file
@ -17,8 +17,8 @@
|
||||
|
||||
#include "gui/messagebox.h"
|
||||
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/iconfactory.h"
|
||||
#include "application.h"
|
||||
|
||||
#include <QtGlobal>
|
||||
#include <QDialogButtonBox>
|
||||
|
9
src/gui/messagestoolbar.cpp
Normal file → Executable file
9
src/gui/messagestoolbar.cpp
Normal file → Executable file
@ -39,9 +39,16 @@ MessagesToolBar::~MessagesToolBar() {
|
||||
}
|
||||
|
||||
QHash<QString, QAction*> MessagesToolBar::availableActions() const {
|
||||
QHash<QString, QAction*> available_actions = FormMain::instance()->allActions();
|
||||
QList<QAction*> application_actions = qApp->mainForm()->allActions();
|
||||
QHash<QString, QAction*> available_actions;
|
||||
|
||||
foreach (QAction *application_action, application_actions) {
|
||||
available_actions.insert(application_action->objectName(), application_action);
|
||||
}
|
||||
|
||||
available_actions.insert(SEACRH_MESSAGES_ACTION_NAME, m_actionSearchMessages);
|
||||
available_actions.insert(HIGHLIGHTER_ACTION_NAME, m_actionMessageHighlighter);
|
||||
|
||||
return available_actions;
|
||||
}
|
||||
|
||||
|
14
src/gui/messagesview.cpp
Normal file → Executable file
14
src/gui/messagesview.cpp
Normal file → Executable file
@ -147,13 +147,13 @@ void MessagesView::contextMenuEvent(QContextMenuEvent *event) {
|
||||
void MessagesView::initializeContextMenu() {
|
||||
m_contextMenu = new QMenu(tr("Context menu for messages"), this);
|
||||
m_contextMenu->addActions(QList<QAction*>() <<
|
||||
FormMain::instance()->m_ui->m_actionOpenSelectedSourceArticlesExternally <<
|
||||
FormMain::instance()->m_ui->m_actionOpenSelectedSourceArticlesInternally <<
|
||||
FormMain::instance()->m_ui->m_actionOpenSelectedMessagesInternally <<
|
||||
FormMain::instance()->m_ui->m_actionMarkSelectedMessagesAsRead <<
|
||||
FormMain::instance()->m_ui->m_actionMarkSelectedMessagesAsUnread <<
|
||||
FormMain::instance()->m_ui->m_actionSwitchImportanceOfSelectedMessages <<
|
||||
FormMain::instance()->m_ui->m_actionDeleteSelectedMessages);
|
||||
qApp->mainForm()->m_ui->m_actionOpenSelectedSourceArticlesExternally <<
|
||||
qApp->mainForm()->m_ui->m_actionOpenSelectedSourceArticlesInternally <<
|
||||
qApp->mainForm()->m_ui->m_actionOpenSelectedMessagesInternally <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedMessagesAsRead <<
|
||||
qApp->mainForm()->m_ui->m_actionMarkSelectedMessagesAsUnread <<
|
||||
qApp->mainForm()->m_ui->m_actionSwitchImportanceOfSelectedMessages <<
|
||||
qApp->mainForm()->m_ui->m_actionDeleteSelectedMessages);
|
||||
}
|
||||
|
||||
void MessagesView::mousePressEvent(QMouseEvent *event) {
|
||||
|
2
src/gui/systemtrayicon.cpp
Normal file → Executable file
2
src/gui/systemtrayicon.cpp
Normal file → Executable file
@ -18,10 +18,10 @@
|
||||
#include "gui/systemtrayicon.h"
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "gui/formmain.h"
|
||||
#include "gui/formsettings.h"
|
||||
#include "application.h"
|
||||
|
||||
#include <QPainter>
|
||||
#include <QTimer>
|
||||
|
16
src/gui/tabwidget.cpp
Normal file → Executable file
16
src/gui/tabwidget.cpp
Normal file → Executable file
@ -18,6 +18,7 @@
|
||||
#include "gui/tabwidget.h"
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/application.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "miscellaneous/textfactory.h"
|
||||
#include "miscellaneous/iconfactory.h"
|
||||
@ -26,7 +27,6 @@
|
||||
#include "gui/formmain.h"
|
||||
#include "gui/feedmessageviewer.h"
|
||||
#include "gui/plaintoolbutton.h"
|
||||
#include "application.h"
|
||||
|
||||
#include <QMenu>
|
||||
#include <QToolButton>
|
||||
@ -67,13 +67,13 @@ void TabWidget::setupMainMenuButton() {
|
||||
void TabWidget::openMainMenu() {
|
||||
if (m_menuMain == NULL) {
|
||||
m_menuMain = new QMenu(tr("Main menu"), this);
|
||||
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuFile);
|
||||
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuView);
|
||||
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuFeeds);
|
||||
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuMessages);
|
||||
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuWebBrowser);
|
||||
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuTools);
|
||||
m_menuMain->addMenu(FormMain::instance()->m_ui->m_menuHelp);
|
||||
m_menuMain->addMenu(qApp->mainForm()->m_ui->m_menuFile);
|
||||
m_menuMain->addMenu(qApp->mainForm()->m_ui->m_menuView);
|
||||
m_menuMain->addMenu(qApp->mainForm()->m_ui->m_menuFeeds);
|
||||
m_menuMain->addMenu(qApp->mainForm()->m_ui->m_menuMessages);
|
||||
m_menuMain->addMenu(qApp->mainForm()->m_ui->m_menuWebBrowser);
|
||||
m_menuMain->addMenu(qApp->mainForm()->m_ui->m_menuTools);
|
||||
m_menuMain->addMenu(qApp->mainForm()->m_ui->m_menuHelp);
|
||||
}
|
||||
|
||||
QPoint button_position = m_btnMainMenu->pos();
|
||||
|
5
src/main.cpp
Normal file → Executable file
5
src/main.cpp
Normal file → Executable file
@ -27,7 +27,7 @@
|
||||
#include "gui/systemtrayicon.h"
|
||||
#include "gui/feedmessageviewer.h"
|
||||
#include "gui/feedsview.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
// Needed for setting ini file format on Mac OS.
|
||||
#ifdef Q_OS_MAC
|
||||
@ -96,13 +96,12 @@ int main(int argc, char *argv[]) {
|
||||
|
||||
// Instantiate main application window.
|
||||
FormMain main_window;
|
||||
application.setMainForm(&main_window);
|
||||
|
||||
// Set correct information for main window.
|
||||
main_window.setWindowTitle(APP_LONG_NAME);
|
||||
|
||||
// Now is a good time to initialize dynamic keyboard shortcuts.
|
||||
DynamicShortcuts::load(main_window.allActions().values());
|
||||
DynamicShortcuts::load(main_window.allActions());
|
||||
|
||||
// Display main window.
|
||||
if (qApp->settings()->value(APP_CFG_GUI, "start_hidden",
|
||||
|
@ -15,7 +15,7 @@
|
||||
// You should have received a copy of the GNU General Public License
|
||||
// along with RSS Guard. If not, see <http://www.gnu.org/licenses/>.
|
||||
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include "miscellaneous/systemfactory.h"
|
||||
#include "gui/feedsview.h"
|
||||
@ -25,13 +25,23 @@
|
||||
|
||||
|
||||
Application::Application(const QString &id, int &argc, char **argv)
|
||||
: QtSingleApplication(id, argc, argv), m_closeLock(NULL), m_mainForm(NULL), m_trayIcon(NULL), m_settings(NULL), m_system(NULL) {
|
||||
: QtSingleApplication(id, argc, argv),
|
||||
m_closeLock(NULL), m_userActions(QList<QAction*>()), m_mainForm(NULL),
|
||||
m_trayIcon(NULL), m_settings(NULL), m_system(NULL) {
|
||||
}
|
||||
|
||||
Application::~Application() {
|
||||
delete m_closeLock;
|
||||
}
|
||||
|
||||
QList<QAction*> Application::userActions() {
|
||||
if (m_mainForm != NULL && m_userActions.isEmpty()) {
|
||||
m_userActions = m_mainForm->allActions();
|
||||
}
|
||||
|
||||
return m_userActions;
|
||||
}
|
||||
|
||||
SystemTrayIcon *Application::trayIcon() {
|
||||
if (m_trayIcon == NULL) {
|
||||
m_trayIcon = new SystemTrayIcon(APP_ICON_PATH, APP_ICON_PLAIN_PATH, m_mainForm);
|
5
src/application.h → src/miscellaneous/application.h
Normal file → Executable file
5
src/application.h → src/miscellaneous/application.h
Normal file → Executable file
@ -26,6 +26,7 @@
|
||||
#include "gui/systemtrayicon.h"
|
||||
|
||||
#include <QMutex>
|
||||
#include <QList>
|
||||
|
||||
#if defined(qApp)
|
||||
#undef qApp
|
||||
@ -36,6 +37,7 @@
|
||||
|
||||
|
||||
class FormMain;
|
||||
class QAction;
|
||||
|
||||
// TODO: presunout nektery veci sem, settings atp
|
||||
class Application : public QtSingleApplication {
|
||||
@ -46,6 +48,8 @@ class Application : public QtSingleApplication {
|
||||
explicit Application(const QString &id, int &argc, char **argv);
|
||||
virtual ~Application();
|
||||
|
||||
QList<QAction*> userActions();
|
||||
|
||||
inline SystemFactory *system() {
|
||||
if (m_system == NULL) {
|
||||
m_system = new SystemFactory(this);
|
||||
@ -110,6 +114,7 @@ class Application : public QtSingleApplication {
|
||||
// tries to lock the lock for writing), then no other
|
||||
// action will be allowed to lock for reading.
|
||||
QMutex *m_closeLock;
|
||||
QList<QAction*> m_userActions;
|
||||
FormMain *m_mainForm;
|
||||
SystemTrayIcon *m_trayIcon;
|
||||
Settings *m_settings;
|
2
src/miscellaneous/databasefactory.cpp
Normal file → Executable file
2
src/miscellaneous/databasefactory.cpp
Normal file → Executable file
@ -19,7 +19,7 @@
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QDir>
|
||||
#include <QSqlQuery>
|
||||
|
2
src/miscellaneous/debugging.cpp
Normal file → Executable file
2
src/miscellaneous/debugging.cpp
Normal file → Executable file
@ -18,7 +18,7 @@
|
||||
#include "miscellaneous/debugging.h"
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QDir>
|
||||
|
||||
|
2
src/miscellaneous/iconfactory.h
Normal file → Executable file
2
src/miscellaneous/iconfactory.h
Normal file → Executable file
@ -21,7 +21,7 @@
|
||||
#include <QObject>
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QString>
|
||||
#include <QIcon>
|
||||
|
2
src/miscellaneous/localization.cpp
Normal file → Executable file
2
src/miscellaneous/localization.cpp
Normal file → Executable file
@ -19,7 +19,7 @@
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QPointer>
|
||||
#include <QTranslator>
|
||||
|
2
src/miscellaneous/settings.cpp
Normal file → Executable file
2
src/miscellaneous/settings.cpp
Normal file → Executable file
@ -18,7 +18,7 @@
|
||||
#include "miscellaneous/settings.h"
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QDebug>
|
||||
#include <QDir>
|
||||
|
2
src/miscellaneous/skinfactory.cpp
Normal file → Executable file
2
src/miscellaneous/skinfactory.cpp
Normal file → Executable file
@ -19,7 +19,7 @@
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QDir>
|
||||
#include <QStyleFactory>
|
||||
|
2
src/miscellaneous/systemfactory.cpp
Normal file → Executable file
2
src/miscellaneous/systemfactory.cpp
Normal file → Executable file
@ -19,7 +19,7 @@
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "network-web/networkfactory.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#if defined(Q_OS_WIN)
|
||||
#include <QSettings>
|
||||
|
@ -19,7 +19,7 @@
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QNetworkProxy>
|
||||
#include <QNetworkReply>
|
||||
|
2
src/network-web/webbrowser.cpp
Normal file → Executable file
2
src/network-web/webbrowser.cpp
Normal file → Executable file
@ -175,7 +175,7 @@ void WebBrowser::createConnections() {
|
||||
connect(m_webView, SIGNAL(urlChanged(QUrl)), this, SLOT(updateUrl(QUrl)));
|
||||
|
||||
// Connect this WebBrowser to global TabWidget.
|
||||
TabWidget *tab_widget = FormMain::instance()->tabWidget();
|
||||
TabWidget *tab_widget = qApp->mainForm()->tabWidget();
|
||||
connect(m_webView, SIGNAL(newTabRequested()), tab_widget, SLOT(addEmptyBrowser()));
|
||||
connect(m_webView, SIGNAL(linkMiddleClicked(QUrl)), tab_widget, SLOT(addLinkedBrowser(QUrl)));
|
||||
|
||||
|
2
src/network-web/webbrowsernetworkaccessmanager.cpp
Normal file → Executable file
2
src/network-web/webbrowsernetworkaccessmanager.cpp
Normal file → Executable file
@ -17,7 +17,7 @@
|
||||
|
||||
#include "network-web/webbrowsernetworkaccessmanager.h"
|
||||
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QNetworkReply>
|
||||
|
||||
|
2
src/network-web/webfactory.cpp
Normal file → Executable file
2
src/network-web/webfactory.cpp
Normal file → Executable file
@ -2,7 +2,7 @@
|
||||
|
||||
#include "definitions/definitions.h"
|
||||
#include "miscellaneous/settings.h"
|
||||
#include "application.h"
|
||||
#include "miscellaneous/application.h"
|
||||
|
||||
#include <QRegExp>
|
||||
#include <QWebSettings>
|
||||
|
Loading…
x
Reference in New Issue
Block a user