From c6b75de31dec44a3108cde7316ba0a45fe9c8265 Mon Sep 17 00:00:00 2001 From: Thomas Frauendorfer Date: Wed, 3 Dec 2008 12:47:46 +0100 Subject: [PATCH] OTHER: Get values for keys matching RegExp --- lib/xconfig.cpp | 14 ++++++++++++++ lib/xconfig.h | 3 +++ src/basewindow.cpp | 2 +- 3 files changed, 18 insertions(+), 1 deletion(-) diff --git a/lib/xconfig.cpp b/lib/xconfig.cpp index 0c34874..a371348 100644 --- a/lib/xconfig.cpp +++ b/lib/xconfig.cpp @@ -48,6 +48,20 @@ XConfig::value_get (QString key) return m_config_cache.value (key); } +QStringList +XConfig::values_get (QRegExp key) +{ + QStringList ret; + QHash < QString, QString >::ConstIterator it = m_config_cache.constBegin (); + while (it != m_config_cache.constEnd ()) { + if (key.exactMatch (it.key ())) { + ret.append (it.value ()); + } + ++it; + } + return ret; +} + bool XConfig::value_set (QString key, QString val) { diff --git a/lib/xconfig.h b/lib/xconfig.h index 04225df..889ed52 100644 --- a/lib/xconfig.h +++ b/lib/xconfig.h @@ -24,7 +24,9 @@ namespace Xmms { #include #include +#include #include +#include class XConfig : public QObject { @@ -33,6 +35,7 @@ class XConfig : public QObject XConfig (XClient *parent); QString value_get (QString key); + QStringList values_get (QRegExp key = QRegExp (".*")); bool value_set (QString key, QString value); bool value_register (QString key, QString defval); diff --git a/src/basewindow.cpp b/src/basewindow.cpp index 168ab85..3f3cef9 100644 --- a/src/basewindow.cpp +++ b/src/basewindow.cpp @@ -43,7 +43,7 @@ BaseWindow::hideEvent (QHideEvent *event) return; } - if ((objectName ().isEmpty ()) | (objectName () == "MainWindow")) { + if ((objectName ().isEmpty ()) || (objectName () == "MainWindow")) { event->ignore (); return; }