[prev in list] [next in list] [prev in thread] [next in thread]
List: kde-panel-devel
Subject: [PATCH] BUG 203716 give user a hint when adding same application
From: <wppan () redflag-linux ! com>
Date: 2009-08-14 9:10:42
Message-ID: 4A852A12.7020108 () redflag-linux ! com
[Download RAW message or body]
Hi,all
I think we should give user a hint when he/she adds a application which
already exists in quicklaunch, so I made this patch.
Regards
--
ÅËÎÀƽ(Peter Pan)
Red Flag Software Co., Ltd
["kdebase-quicklaunch-same-application.patch" (text/x-patch)]
Index: quicklaunchApplet.cpp
===================================================================
--- quicklaunchApplet.cpp (revision 1010790)
+++ quicklaunchApplet.cpp (working copy)
@@ -21,6 +21,7 @@
#include <KConfigDialog>
#include <KDesktopFile>
+#include <KMessageBox>
#include <QGraphicsSceneDragDropEvent>
#include <QGraphicsWidget>
#include <QDrag>
@@ -670,10 +671,32 @@
}
foreach (const KUrl &url, urls) {
- if (KDesktopFile::isDesktopFile(url.toLocalFile())) {
- addProgram(pos, url.toLocalFile(), true);
+ bool found = false;
+ foreach (QuicklaunchIcon *icon, m_icons) {
+ if (icon->url().url() == url.url()) {
+ found = true;
+ if (KMessageBox::warningContinueCancel(
+ 0,
+ i18n("\"%1\" is already in quicklaunch!\nCancel or \
Continue?", icon->url().pathOrUrl()), + i18n("Warning")
+ ) == KMessageBox::Continue) {
+ if (KDesktopFile::isDesktopFile(url.toLocalFile())) {
+ addProgram(pos, url.toLocalFile(), true);
+ break;
+ }
+ } else {
+ break;
+ }
+ }
}
+
+ if (!found) {
+ if (KDesktopFile::isDesktopFile(url.toLocalFile())) {
+ addProgram(pos, url.toLocalFile(), true);
+ }
+ }
}
+
return true;
}
@@ -697,6 +720,21 @@
void QuicklaunchApplet::addAccepted()
{
+ foreach (QuicklaunchIcon *icon, m_icons) {
+ if (icon->url().url() == addUi.urlIcon->url().url()) {
+ if (KMessageBox::warningContinueCancel(
+ 0,
+ i18n("\"%1\" is already in quicklaunch!\nCancel or Continue?", \
icon->url().pathOrUrl()), + i18n("Warning")) == \
KMessageBox::Continue) { + int insertplace = m_rightClickedIcon ? \
m_icons.indexOf(m_rightClickedIcon) : m_icons.size(); + \
addProgram(insertplace, addUi.urlIcon->url().url(), true); + \
performUiRefactor(); + }
+
+ return;
+ }
+ }
+
int insertplace = m_rightClickedIcon ? m_icons.indexOf(m_rightClickedIcon) : \
m_icons.size(); addProgram(insertplace, addUi.urlIcon->url().url(), true);
performUiRefactor();
_______________________________________________
Plasma-devel mailing list
Plasma-devel@kde.org
https://mail.kde.org/mailman/listinfo/plasma-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic