Le samedi 21 novembre 2009 11:31:36, Panagiotis Papadopoulos a écrit :
> Imho this should be an option (even if a "hidden" one). Have a look at this
> wish for Konqueror:
>
Add --nofavicon-taskbar cmd line option.
Cédric
diff --git a/src/application.cpp b/src/application.cpp
index 66a7d3e..5f58f68 100644
--- a/src/application.cpp
+++ b/src/application.cpp
@@ -64,6 +64,7 @@ QPointer<HistoryManager> Application::s_historyManager;
QPointer<NetworkAccessManager> Application::s_networkAccessManager;
QPointer<BookmarkProvider> Application::s_bookmarkProvider;
QPointer<SessionManager> Application::s_sessionManager;
+bool Application::s_faviconAsTaskbarIcon;
@@ -90,7 +91,8 @@ int Application::newInstance()
// we share one process for several mainwindows,
// so initialize only once
static bool first = true;
-
+ s_faviconAsTaskbarIcon = args->isSet("favicon-taskbar");
+
if(args->count() == 0)
{
if(first) // we are starting rekonq, for the first time with no args: use startup behaviour
@@ -256,6 +258,10 @@ SessionManager *Application::sessionManager()
return s_sessionManager;
}
+bool Application::faviconAsTaskbarIcon()
+{
+ return s_faviconAsTaskbarIcon;
+}
KIcon Application::icon(const KUrl &url)
{
@@ -283,7 +289,6 @@ KIcon Application::icon(const KUrl &url)
return icon;
}
-
KUrl Application::guessUrlFromString(const QString &string)
{
QString urlStr = string.trimmed();
diff --git a/src/application.h b/src/application.h
index 0f256a4..68851cc 100644
--- a/src/application.h
+++ b/src/application.h
@@ -103,6 +103,7 @@ public:
MainWindowList mainWindowList();
static KIcon icon(const KUrl &url);
+ static bool faviconAsTaskbarIcon();
static HistoryManager *historyManager();
static CookieJar *cookieJar();
@@ -144,7 +145,7 @@ private:
static QPointer<NetworkAccessManager> s_networkAccessManager;
static QPointer<BookmarkProvider> s_bookmarkProvider;
static QPointer<SessionManager> s_sessionManager;
-
+ static bool s_faviconAsTaskbarIcon;
MainWindowList m_mainWindows;
};
diff --git a/src/main.cpp b/src/main.cpp
index c0e4b70..e8bd1a4 100644
--- a/src/main.cpp
+++ b/src/main.cpp
@@ -140,6 +140,9 @@ extern "C" KDE_EXPORT int kdemain( int argc, char **argv )
// adding URL option
options.add("+[URL]" , ki18n("Location to open"));
+ // adding no favicons as taskbar icon option
+ options.add("nofavicon-taskbar" , ki18n("Don't use favicon as taskbar icon"));
+
// Register the supported options
KCmdLineArgs::addCmdLineOptions(options);
diff --git a/src/mainview.cpp b/src/mainview.cpp
index ebcad08..7c4fc85 100644
--- a/src/mainview.cpp
+++ b/src/mainview.cpp
@@ -267,6 +266,13 @@ void MainView::currentChanged(int index)
if (!webView)
return;
+ // set tab icon
+ if (Application::faviconAsTaskbarIcon())
+ {
+ QIcon icon = Application::icon(webView->url());
+ m_parentWindow->setWindowIcon(icon);
+ }
+
// retrieve the old webview (that where we move from)
WebView *oldWebView = this->webView(m_currentTabIndex);
@@ -370,6 +376,8 @@ void MainView::newTab()
break;
case 1: // blank page
urlBar()->setUrl(KUrl(""));
+ if (Application::faviconAsTaskbarIcon())
+ m_parentWindow->setWindowIcon(KIcon("rekonq"));
break;
case 2: // homepage
w->load( QUrl(ReKonfig::homePage()) );
@@ -573,6 +581,8 @@ void MainView::webViewIconChanged()
label->setPixmap(icon.pixmap(16, 16));
urlBar()->updateUrl();
+ if (Application::faviconAsTaskbarIcon())
+ m_parentWindow->setWindowIcon(icon);
}
}
@@ -594,6 +604,8 @@ void MainView::webViewTitleChanged(const QString &title)
{
emit setCurrentTitle(tabTitle);
}
+ if (Application::faviconAsTaskbarIcon())
+ m_parentWindow->setWindowIcon(KIcon("text-html"));
Application::historyManager()->updateHistoryEntry(webView->url(), tabTitle);
}
_______________________________________________
rekonq mailing list
[email protected]
https://mail.kde.org/mailman/listinfo/rekonq