From kde-panel-devel Fri Aug 14 09:10:42 2009 From: =?GB2312?B?IsXLzsDGvShQZXRlciBQYW4pIg==?= Date: Fri, 14 Aug 2009 09:10:42 +0000 To: kde-panel-devel Subject: [PATCH] BUG 203716 give user a hint when adding same application Message-Id: <4A852A12.7020108 () redflag-linux ! com> X-MARC-Message: https://marc.info/?l=kde-panel-devel&m=125024114018906 MIME-Version: 1 Content-Type: multipart/mixed; boundary="--------------070407070202040000020703" This is a multi-part message in MIME format. --------------070407070202040000020703 Content-Type: text/plain; charset=GB2312 Content-Transfer-Encoding: 8bit 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 --------------070407070202040000020703 Content-Type: text/x-patch; name="kdebase-quicklaunch-same-application.patch" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="kdebase-quicklaunch-same-application.patch" Index: quicklaunchApplet.cpp =================================================================== --- quicklaunchApplet.cpp (revision 1010790) +++ quicklaunchApplet.cpp (working copy) @@ -21,6 +21,7 @@ #include #include +#include #include #include #include @@ -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(); --------------070407070202040000020703 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Plasma-devel mailing list Plasma-devel@kde.org https://mail.kde.org/mailman/listinfo/plasma-devel --------------070407070202040000020703--