[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-commits
Subject: KDE/kdenetwork/kget
From: Matthias Fuchs <mat69 () gmx ! net>
Date: 2011-02-10 18:05:16
Message-ID: 20110210180516.8402DAC8BD () svn ! kde ! org
[Download RAW message or body]
SVN commit 1219743 by mfuchs:
User can choose between Wildcard (default) and RegExp2 in the conext menu of the \
LinkView's filterbar. BUG:249454
M +3 -0 conf/kget.kcfg
M +38 -1 ui/linkview/kget_linkview.cpp
M +8 -0 ui/linkview/kget_linkview.h
--- trunk/KDE/kdenetwork/kget/conf/kget.kcfg #1219742:1219743
@@ -191,6 +191,9 @@
<entry name="LastDirectory" type="Path">
<default code="true">KGlobalSettings::downloadPath()</default>
</entry>
+ <entry name="LinkViewFilterPatternSyntax" type="Int">
+ <default>0</default>
+ </entry>
</group>
<group name="Geometry">
--- trunk/KDE/kdenetwork/kget/ui/linkview/kget_linkview.cpp #1219742:1219743
@@ -11,6 +11,7 @@
*/
#include "kget_linkview.h"
+#include "settings.h"
#include "kget_sortfilterproxymodel.h"
#include "core/kget.h"
#include "core/linkimporter.h"
@@ -18,7 +19,7 @@
#include <QApplication>
#include <QClipboard>
-#include <QProcess>
+#include <QMenu>
#include <QStandardItemModel>
#include <KActionCollection>
@@ -70,9 +71,24 @@
ui.treeView->setModel(m_proxyModel);
ui.progressBar->hide();
+ //creates pattern syntax menu for the text filter
+ m_patternSyntaxMenu = new QMenu(i18nc("of a filter, e.g. RegExp or Wildcard", \
"Pattern Syntax"), this); + QAction *wildcardAction = new QAction(i18n("Escape \
Sequences"), this); + wildcardAction->setCheckable(true);
+ wildcardAction->setChecked(Settings::linkViewFilterPatternSyntax() == Wildcard);
+ QAction *regExpAction = new QAction(i18n("Regular Expression"), this);
+ regExpAction->setCheckable(true);
+ regExpAction->setChecked(Settings::linkViewFilterPatternSyntax() == RegExp);
+ QActionGroup *actionGroup = new QActionGroup(this);
+ actionGroup->addAction(wildcardAction);
+ actionGroup->addAction(regExpAction);
+ m_patternSyntaxMenu->addActions(actionGroup->actions());
+
+ connect(wildcardAction, SIGNAL(toggled(bool)), this, \
SLOT(wildcardPatternToggled(bool))); connect(ui.treeView, SIGNAL(doubleClicked(const \
QModelIndex &)), this, SLOT(uncheckItem(const QModelIndex &)));
connect(ui.textFilter, SIGNAL(textChanged(QString)), \
SLOT(setTextFilter(QString))); + connect(ui.textFilter, \
SIGNAL(aboutToShowContextMenu(QMenu*)), this, \
SLOT(contextMenuDisplayed(QMenu*)));
connect(ui.filterMode, SIGNAL(currentIndexChanged(int)), m_proxyModel, \
SLOT(setFilterMode(int)));
connect(ui.filterButtonGroup, SIGNAL(buttonClicked(int)), m_proxyModel, \
SLOT(setFilterType(int)));
connect(ui.filterButtonGroup, SIGNAL(buttonClicked(int)), \
SLOT(updateSelectionButtons())); @@ -278,7 +294,12 @@
{
// TODO: escape user input for avoding malicious user input! (FiNEX)
QString temp = text.isEmpty() ? ui.textFilter->text() : text;
+ if (Settings::linkViewFilterPatternSyntax() == Wildcard) {
m_proxyModel->setFilterWildcard(temp);
+ } else {
+ QRegExp rx(temp, Qt::CaseSensitive, QRegExp::RegExp2);
+ m_proxyModel->setFilterRegExp(rx);
+ }
updateSelectionButtons();
}
@@ -406,4 +427,20 @@
ui.importLinks->setEnabled(enabled);
}
+void KGetLinkView::contextMenuDisplayed(QMenu *menu)
+{
+ menu->addSeparator();
+ menu->addMenu(m_patternSyntaxMenu);
+}
+
+
+void KGetLinkView::wildcardPatternToggled(bool enabled)
+{
+ if (enabled) {
+ Settings::setLinkViewFilterPatternSyntax(Wildcard);
+ } else {
+ Settings::setLinkViewFilterPatternSyntax(RegExp);
+ }
+}
+
#include "kget_linkview.moc"
--- trunk/KDE/kdenetwork/kget/ui/linkview/kget_linkview.h #1219742:1219743
@@ -47,6 +47,8 @@
void slotCheckSelected();
void slotInvertSelection();
void updateSelectionButtons();
+ void contextMenuDisplayed(QMenu *menu);
+ void wildcardPatternToggled(bool enabled);
// import links slots
void slotStartImport();
@@ -58,10 +60,16 @@
void checkClipboard();
void showLinks( const QStringList &links );
+private:
+ enum PatternSyntax {
+ Wildcard = 0,
+ RegExp
+ };
Ui::ImportLinkDialog ui;
KGetSortFilterProxyModel *m_proxyModel;
QStringList m_links;
LinkImporter *m_linkImporter;
+ QMenu *m_patternSyntaxMenu;
};
#endif // KGET_LINKVIEW_H
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic