Toolbar cleanup & added option to switch toolbar style.
This commit is contained in:
parent
1ed4e02156
commit
9084361782
8 changed files with 77 additions and 15 deletions
|
@ -111,7 +111,7 @@ void FeedMessageViewer::quit() {
|
||||||
}
|
}
|
||||||
|
|
||||||
void FeedMessageViewer::updateTrayIconStatus(int unread_messages,
|
void FeedMessageViewer::updateTrayIconStatus(int unread_messages,
|
||||||
int total_messages) {
|
int total_messages) {
|
||||||
Q_UNUSED(total_messages)
|
Q_UNUSED(total_messages)
|
||||||
|
|
||||||
if (SystemTrayIcon::isSystemTrayActivated()) {
|
if (SystemTrayIcon::isSystemTrayActivated()) {
|
||||||
|
@ -129,7 +129,7 @@ void FeedMessageViewer::onFeedUpdatesProgress(FeedsModelFeed *feed,
|
||||||
// Some feed got updated.
|
// Some feed got updated.
|
||||||
m_feedsView->updateCountsOfParticularFeed(feed, true);
|
m_feedsView->updateCountsOfParticularFeed(feed, true);
|
||||||
FormMain::instance()->statusBar()->showProgress((current * 100.0) / total,
|
FormMain::instance()->statusBar()->showProgress((current * 100.0) / total,
|
||||||
tr("Updated feed '%1'").arg(feed->title()));
|
tr("Updated feed '%1'").arg(feed->title()));
|
||||||
}
|
}
|
||||||
|
|
||||||
void FeedMessageViewer::onFeedUpdatesFinished() {
|
void FeedMessageViewer::onFeedUpdatesFinished() {
|
||||||
|
@ -212,6 +212,8 @@ void FeedMessageViewer::createConnections() {
|
||||||
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedFeedsUnread()));
|
SIGNAL(triggered()), m_feedsView, SLOT(markSelectedFeedsUnread()));
|
||||||
connect(form_main->m_ui->m_actionClearSelectedFeeds,
|
connect(form_main->m_ui->m_actionClearSelectedFeeds,
|
||||||
SIGNAL(triggered()), m_feedsView, SLOT(clearSelectedFeeds()));
|
SIGNAL(triggered()), m_feedsView, SLOT(clearSelectedFeeds()));
|
||||||
|
connect(form_main->m_ui->m_actionClearAllFeeds,
|
||||||
|
SIGNAL(triggered()), m_feedsView, SLOT(clearAllFeeds()));
|
||||||
connect(form_main->m_ui->m_actionUpdateSelectedFeedsCategories,
|
connect(form_main->m_ui->m_actionUpdateSelectedFeedsCategories,
|
||||||
SIGNAL(triggered()), m_feedsView, SLOT(updateSelectedFeeds()));
|
SIGNAL(triggered()), m_feedsView, SLOT(updateSelectedFeeds()));
|
||||||
connect(form_main->m_ui->m_actionUpdateAllFeeds,
|
connect(form_main->m_ui->m_actionUpdateAllFeeds,
|
||||||
|
@ -242,14 +244,9 @@ void FeedMessageViewer::initialize() {
|
||||||
// Add everything to toolbar.
|
// Add everything to toolbar.
|
||||||
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionUpdateAllFeeds);
|
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionUpdateAllFeeds);
|
||||||
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionMarkAllFeedsRead);
|
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionMarkAllFeedsRead);
|
||||||
m_toolBar->addSeparator();
|
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionClearAllFeeds);
|
||||||
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionUpdateSelectedFeedsCategories);
|
|
||||||
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionEditSelectedFeedCategory);
|
m_toolBar->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
|
||||||
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionDeleteSelectedFeedCategory);
|
|
||||||
m_toolBar->addSeparator();
|
|
||||||
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsRead);
|
|
||||||
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionMarkSelectedFeedsAsUnread);
|
|
||||||
m_toolBar->addAction(FormMain::instance()->m_ui->m_actionClearSelectedFeeds);
|
|
||||||
|
|
||||||
// Finish web/message browser setup.
|
// Finish web/message browser setup.
|
||||||
m_messagesBrowser->setNavigationBarVisible(false);
|
m_messagesBrowser->setNavigationBarVisible(false);
|
||||||
|
@ -257,6 +254,8 @@ void FeedMessageViewer::initialize() {
|
||||||
// Downloader setup.
|
// Downloader setup.
|
||||||
qRegisterMetaType<QList<FeedsModelFeed*> >("QList<FeedsModelFeed*>");
|
qRegisterMetaType<QList<FeedsModelFeed*> >("QList<FeedsModelFeed*>");
|
||||||
m_feedDownloader->moveToThread(m_feedDownloaderThread);
|
m_feedDownloader->moveToThread(m_feedDownloaderThread);
|
||||||
|
|
||||||
|
refreshVisualProperties();
|
||||||
}
|
}
|
||||||
|
|
||||||
void FeedMessageViewer::initializeViews() {
|
void FeedMessageViewer::initializeViews() {
|
||||||
|
@ -348,3 +347,9 @@ void FeedMessageViewer::vacuumDatabase() {
|
||||||
|
|
||||||
SystemFactory::instance()->applicationCloseLock()->unlock();
|
SystemFactory::instance()->applicationCloseLock()->unlock();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FeedMessageViewer::refreshVisualProperties() {
|
||||||
|
m_toolBar->setToolButtonStyle(static_cast<Qt::ToolButtonStyle>(Settings::instance()->value(APP_CFG_GUI,
|
||||||
|
"toolbar_style",
|
||||||
|
Qt::ToolButtonIconOnly).toInt()));
|
||||||
|
}
|
||||||
|
|
|
@ -46,6 +46,9 @@ class FeedMessageViewer : public TabContent {
|
||||||
public slots:
|
public slots:
|
||||||
void vacuumDatabase();
|
void vacuumDatabase();
|
||||||
|
|
||||||
|
// Reloads some changeable visual settings.
|
||||||
|
void refreshVisualProperties();
|
||||||
|
|
||||||
protected slots:
|
protected slots:
|
||||||
// Updates counts of messages for example in tray icon.
|
// Updates counts of messages for example in tray icon.
|
||||||
void updateTrayIconStatus(int unread_messages, int total_messages);
|
void updateTrayIconStatus(int unread_messages, int total_messages);
|
||||||
|
|
|
@ -191,10 +191,21 @@ void FeedsView::setSelectedFeedsClearStatus(int clear) {
|
||||||
emit feedsNeedToBeReloaded(1);
|
emit feedsNeedToBeReloaded(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FeedsView::setAllFeedsClearStatus(int clear) {
|
||||||
|
m_sourceModel->markFeedsDeleted(allFeeds(), clear, 0);
|
||||||
|
updateCountsOfAllFeeds();
|
||||||
|
|
||||||
|
emit feedsNeedToBeReloaded(1);
|
||||||
|
}
|
||||||
|
|
||||||
void FeedsView::clearSelectedFeeds() {
|
void FeedsView::clearSelectedFeeds() {
|
||||||
setSelectedFeedsClearStatus(1);
|
setSelectedFeedsClearStatus(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void FeedsView::clearAllFeeds() {
|
||||||
|
setAllFeedsClearStatus(1);
|
||||||
|
}
|
||||||
|
|
||||||
void FeedsView::addNewStandardCategory() {
|
void FeedsView::addNewStandardCategory() {
|
||||||
if (!SystemFactory::instance()->applicationCloseLock()->tryLock()) {
|
if (!SystemFactory::instance()->applicationCloseLock()->tryLock()) {
|
||||||
// Lock was not obtained because
|
// Lock was not obtained because
|
||||||
|
|
|
@ -71,7 +71,9 @@ class FeedsView : public QTreeView {
|
||||||
|
|
||||||
// Feed clearers.
|
// Feed clearers.
|
||||||
void setSelectedFeedsClearStatus(int clear);
|
void setSelectedFeedsClearStatus(int clear);
|
||||||
|
void setAllFeedsClearStatus(int clear);
|
||||||
void clearSelectedFeeds();
|
void clearSelectedFeeds();
|
||||||
|
void clearAllFeeds();
|
||||||
void clearAllReadMessages();
|
void clearAllReadMessages();
|
||||||
|
|
||||||
// Base manipulators.
|
// Base manipulators.
|
||||||
|
|
|
@ -241,6 +241,7 @@ void FormMain::setupIcons() {
|
||||||
m_ui->m_actionUpdateAllFeeds->setIcon(icon_theme_factory->fromTheme("item-update-all"));
|
m_ui->m_actionUpdateAllFeeds->setIcon(icon_theme_factory->fromTheme("item-update-all"));
|
||||||
m_ui->m_actionUpdateSelectedFeedsCategories->setIcon(icon_theme_factory->fromTheme("item-update-selected"));
|
m_ui->m_actionUpdateSelectedFeedsCategories->setIcon(icon_theme_factory->fromTheme("item-update-selected"));
|
||||||
m_ui->m_actionClearSelectedFeeds->setIcon(icon_theme_factory->fromTheme("mail-remove"));
|
m_ui->m_actionClearSelectedFeeds->setIcon(icon_theme_factory->fromTheme("mail-remove"));
|
||||||
|
m_ui->m_actionClearAllFeeds->setIcon(icon_theme_factory->fromTheme("mail-remove"));
|
||||||
m_ui->m_actionDeleteSelectedFeedCategory->setIcon(icon_theme_factory->fromTheme("item-remove"));
|
m_ui->m_actionDeleteSelectedFeedCategory->setIcon(icon_theme_factory->fromTheme("item-remove"));
|
||||||
m_ui->m_actionDeleteSelectedMessages->setIcon(icon_theme_factory->fromTheme("mail-remove"));
|
m_ui->m_actionDeleteSelectedMessages->setIcon(icon_theme_factory->fromTheme("mail-remove"));
|
||||||
m_ui->m_actionAddStandardCategory->setIcon(icon_theme_factory->fromTheme("item-new"));
|
m_ui->m_actionAddStandardCategory->setIcon(icon_theme_factory->fromTheme("item-new"));
|
||||||
|
|
|
@ -114,6 +114,7 @@
|
||||||
<addaction name="separator"/>
|
<addaction name="separator"/>
|
||||||
<addaction name="m_actionViewSelectedItemsNewspaperMode"/>
|
<addaction name="m_actionViewSelectedItemsNewspaperMode"/>
|
||||||
<addaction name="m_actionMarkAllFeedsRead"/>
|
<addaction name="m_actionMarkAllFeedsRead"/>
|
||||||
|
<addaction name="m_actionClearAllFeeds"/>
|
||||||
<addaction name="m_actionMarkSelectedFeedsAsRead"/>
|
<addaction name="m_actionMarkSelectedFeedsAsRead"/>
|
||||||
<addaction name="m_actionMarkSelectedFeedsAsUnread"/>
|
<addaction name="m_actionMarkSelectedFeedsAsUnread"/>
|
||||||
<addaction name="m_actionClearSelectedFeeds"/>
|
<addaction name="m_actionClearSelectedFeeds"/>
|
||||||
|
@ -467,6 +468,17 @@
|
||||||
<string>Hides or shows the list of feeds/categories.</string>
|
<string>Hides or shows the list of feeds/categories.</string>
|
||||||
</property>
|
</property>
|
||||||
</action>
|
</action>
|
||||||
|
<action name="m_actionClearAllFeeds">
|
||||||
|
<property name="text">
|
||||||
|
<string>Clear all items</string>
|
||||||
|
</property>
|
||||||
|
<property name="toolTip">
|
||||||
|
<string>Remove all messages from all feeds.</string>
|
||||||
|
</property>
|
||||||
|
<property name="shortcut">
|
||||||
|
<string notr="true"/>
|
||||||
|
</property>
|
||||||
|
</action>
|
||||||
</widget>
|
</widget>
|
||||||
<customwidgets>
|
<customwidgets>
|
||||||
<customwidget>
|
<customwidget>
|
||||||
|
|
|
@ -675,11 +675,28 @@ void FormSettings::loadInterface() {
|
||||||
m_ui->m_hideTabBarIfOneTabVisible->setChecked(settings->value(APP_CFG_GUI,
|
m_ui->m_hideTabBarIfOneTabVisible->setChecked(settings->value(APP_CFG_GUI,
|
||||||
"hide_tabbar_one_tab",
|
"hide_tabbar_one_tab",
|
||||||
true).toBool());
|
true).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::instance()->value(APP_CFG_GUI,
|
||||||
|
"toolbar_style",
|
||||||
|
Qt::ToolButtonIconOnly).toInt()));
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void FormSettings::saveInterface() {
|
void FormSettings::saveInterface() {
|
||||||
Settings *settings = Settings::instance();
|
Settings *settings = Settings::instance();
|
||||||
|
|
||||||
|
// Save toolbar.
|
||||||
|
Settings::instance()->setValue(APP_CFG_GUI,
|
||||||
|
"toolbar_style",
|
||||||
|
m_ui->m_cmbToolbarButtonStyle->itemData(m_ui->m_cmbToolbarButtonStyle->currentIndex()));
|
||||||
|
|
||||||
// Save tray icon.
|
// Save tray icon.
|
||||||
if (SystemTrayIcon::isSystemTrayAvailable()) {
|
if (SystemTrayIcon::isSystemTrayAvailable()) {
|
||||||
settings->setValue(APP_CFG_GUI, "use_tray_icon",
|
settings->setValue(APP_CFG_GUI, "use_tray_icon",
|
||||||
|
@ -727,4 +744,5 @@ void FormSettings::saveInterface() {
|
||||||
m_ui->m_hideTabBarIfOneTabVisible->isChecked());
|
m_ui->m_hideTabBarIfOneTabVisible->isChecked());
|
||||||
|
|
||||||
FormMain::instance()->tabWidget()->checkTabBarVisibility();
|
FormMain::instance()->tabWidget()->checkTabBarVisibility();
|
||||||
|
FormMain::instance()->tabWidget()->feedMessageViewer()->refreshVisualProperties();
|
||||||
}
|
}
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QStackedWidget" name="m_stackedSettings">
|
<widget class="QStackedWidget" name="m_stackedSettings">
|
||||||
<property name="currentIndex">
|
<property name="currentIndex">
|
||||||
<number>1</number>
|
<number>3</number>
|
||||||
</property>
|
</property>
|
||||||
<widget class="QWidget" name="m_pageGeneral">
|
<widget class="QWidget" name="m_pageGeneral">
|
||||||
<layout class="QFormLayout" name="formLayout_5">
|
<layout class="QFormLayout" name="formLayout_5">
|
||||||
|
@ -289,8 +289,8 @@ Authors of this application are NOT responsible for lost data.</string>
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>100</width>
|
<width>564</width>
|
||||||
<height>30</height>
|
<height>363</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
<layout class="QHBoxLayout" name="horizontalLayout_4">
|
||||||
|
@ -367,8 +367,8 @@ Authors of this application are NOT responsible for lost data.</string>
|
||||||
<rect>
|
<rect>
|
||||||
<x>0</x>
|
<x>0</x>
|
||||||
<y>0</y>
|
<y>0</y>
|
||||||
<width>167</width>
|
<width>558</width>
|
||||||
<height>219</height>
|
<height>337</height>
|
||||||
</rect>
|
</rect>
|
||||||
</property>
|
</property>
|
||||||
<layout class="QFormLayout" name="formLayout">
|
<layout class="QFormLayout" name="formLayout">
|
||||||
|
@ -394,6 +394,16 @@ Authors of this application are NOT responsible for lost data.</string>
|
||||||
<item row="0" column="1">
|
<item row="0" column="1">
|
||||||
<widget class="QComboBox" name="m_cmbIconTheme"/>
|
<widget class="QComboBox" name="m_cmbIconTheme"/>
|
||||||
</item>
|
</item>
|
||||||
|
<item row="1" column="1">
|
||||||
|
<widget class="QComboBox" name="m_cmbToolbarButtonStyle"/>
|
||||||
|
</item>
|
||||||
|
<item row="1" column="0">
|
||||||
|
<widget class="QLabel" name="label_7">
|
||||||
|
<property name="text">
|
||||||
|
<string>Toolbar button style</string>
|
||||||
|
</property>
|
||||||
|
</widget>
|
||||||
|
</item>
|
||||||
</layout>
|
</layout>
|
||||||
</widget>
|
</widget>
|
||||||
</item>
|
</item>
|
||||||
|
|
Loading…
Add table
Reference in a new issue