]> git.sur5r.net Git - minitube/commitdiff
Clear recent keywords based on a patch by Sebastian Frysztak
authorFlavio Tordini <flavio.tordini@gmail.com>
Mon, 4 Jan 2010 00:51:27 +0000 (01:51 +0100)
committerFlavio Tordini <flavio.tordini@gmail.com>
Mon, 4 Jan 2010 00:51:27 +0000 (01:51 +0100)
src/MainWindow.cpp
src/MainWindow.h
src/SearchView.cpp
src/SearchView.h

index 9d05596609d939fe68bf7e9981734c2cfc29d3fc..50de29b546c61756fc583f6b747cbfd4f561bcdc 100755 (executable)
@@ -149,7 +149,14 @@ void MainWindow::createActions() {
     moveDownAct->setEnabled(false);
     actions->insert("moveDown", moveDownAct);
     connect(moveDownAct, SIGNAL(triggered()), mediaView, SLOT(moveDownSelected()));
-    
+
+    clearAct = new QAction(tr("&Clear recent keywords"), this);
+    clearAct->setMenuRole(QAction::ApplicationSpecificRole);
+    clearAct->setShortcuts(QList<QKeySequence>() << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Delete) << QKeySequence(Qt::CTRL + Qt::SHIFT + Qt::Key_Backspace));
+    clearAct->setEnabled(true);
+    actions->insert("clearRecentKeywords", clearAct);
+    connect(clearAct, SIGNAL(triggered()), searchView, SLOT(clearRecentKeywords()));
+
     quitAct = new QAction(tr("&Quit"), this);
     quitAct->setMenuRole(QAction::QuitRole);
     quitAct->setShortcuts(QList<QKeySequence>() << QKeySequence(tr("Ctrl+Q")) << QKeySequence(Qt::CTRL + Qt::Key_W));
@@ -244,13 +251,13 @@ void MainWindow::createMenus() {
     
     QMap<QString, QMenu*> *menus = The::globalMenus();
     
-    /*
     fileMenu = menuBar()->addMenu(tr("&Application"));
     // menus->insert("file", fileMenu);
     // fileMenu->addAction(settingsAct);
+    fileMenu->addAction(clearAct);
     fileMenu->addSeparator();
     fileMenu->addAction(quitAct);
-    */
+
     
     playlistMenu = menuBar()->addMenu(tr("&Playlist"));
     menus->insert("playlist", playlistMenu);
@@ -502,7 +509,7 @@ void MainWindow::stateChanged(Phonon::State newState, Phonon::State /* oldState
     
     switch (newState) {
         
-         case Phonon::ErrorState:
+    case Phonon::ErrorState:
         if (mediaObject->errorType() == Phonon::FatalError) {
             statusBar()->showMessage(tr("Fatal error: %1").arg(mediaObject->errorString()));
         } else {
index 7d3f23d460bf6df9584072c9c6ce955e2a6c4fed..e8d2ed592e79bf209a366ff2295053a600be7d6f 100755 (executable)
@@ -126,6 +126,7 @@ private:
     QAction *moveDownAct;
     QAction *moveUpAct;
     QAction *fetchMoreAct;
+    QAction *clearAct;
 
     // menus
     QMenu *fileMenu;
index a8a8ab4db386970a0ebcae4bf38079f9fa079290..e819e8d26c8ef5ef6cc1f864f8415f603cdf55a3 100644 (file)
@@ -1,6 +1,10 @@
 #include "SearchView.h"
 #include "Constants.h"
 
+namespace The {
+    QMap<QString, QAction*>* globalActions();
+}
+
 static const QString recentKeywordsKey = "recentKeywords";
 static const int PADDING = 30;
 
@@ -134,6 +138,8 @@ void SearchView::updateRecentKeywords() {
     QSettings settings;
     QStringList keywords = settings.value(recentKeywordsKey).toStringList();
     recentKeywordsLabel->setVisible(!keywords.isEmpty());
+    The::globalActions()->value("clearRecentKeywords")->setEnabled(!keywords.isEmpty());
+
     foreach (QString keyword, keywords) {
         QLabel *itemLabel = new QLabel("<a href=\"" + keyword
                                        + "\" style=\"color:palette(text); text-decoration:none\">"
@@ -149,6 +155,12 @@ void SearchView::updateRecentKeywords() {
 
 }
 
+void SearchView::clearRecentKeywords() {
+    QSettings settings;
+    settings.remove(recentKeywordsKey);
+    updateRecentKeywords();
+}
+
 void SearchView::watch() {
     QString query = queryEdit->text().simplified();
     watch(query);
index 4690a4425805812d02a722618755d51bb7bc82a3..fe4e93993fcca5cb7adbbf7b41346a97caa9ec9a 100644 (file)
@@ -42,6 +42,7 @@ signals:
 private slots:
     void watch();
     void textChanged(const QString &text);
+    void clearRecentKeywords();
 
 private:
     void updateRecentKeywords();