┌   ┐
54
└   ┘

summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorFrank Reininghaus <[email protected]>2012-09-27 08:11:53 +0200
committerFrank Reininghaus <[email protected]>2012-09-27 08:12:02 +0200
commit831251d0f3bd960449e31d7a82baec1bba131e15 (patch)
tree4a5fa53a1c97a9c39e91ec0e126f53dff218151f /src
parent63561edb4598035e8631575dbc19d0581e85823a (diff)
Add a new config option for the icon size in the Places Panel
To change the icon size in the Places Panel to, e.g., 60 pixels, add the following lines to $KDEHOME/share/config/dolphinrc : [PlacesPanel] IconSize=60 A value of -1 means that the standard "Small" size should be used (which has been the default before this commit). It is planned to add an "Icon Size" submenu to the context menu of the Places Panel in KDE 4.10, but we cannot do this in the 4.9 branch because of the string freeze. FIXED-IN: 4.9.2 BUG: 301959
Diffstat (limited to 'src')
-rw-r--r--src/CMakeLists.txt2
-rw-r--r--src/panels/places/dolphin_placespanelsettings.kcfg14
-rw-r--r--src/panels/places/dolphin_placespanelsettings.kcfgc4
-rw-r--r--src/panels/places/placespanel.cpp4
-rw-r--r--src/panels/places/placesview.cpp35
-rw-r--r--src/panels/places/placesview.h38
6 files changed, 95 insertions, 2 deletions
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 1c6b40c4b..8f7f4db77 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -171,6 +171,7 @@ set(dolphin_SRCS
panels/places/placesitemlistwidget.cpp
panels/places/placesitemmodel.cpp
panels/places/placesitemsignalhandler.cpp
+ panels/places/placesview.cpp
panels/panel.cpp
panels/folders/foldersitemlistwidget.cpp
panels/folders/treeviewcontextmenu.cpp
@@ -204,6 +205,7 @@ set(dolphin_SRCS
kde4_add_kcfg_files(dolphin_SRCS
panels/folders/dolphin_folderspanelsettings.kcfgc
panels/information/dolphin_informationpanelsettings.kcfgc
+ panels/places/dolphin_placespanelsettings.kcfgc
settings/dolphin_compactmodesettings.kcfgc
settings/dolphin_detailsmodesettings.kcfgc
settings/dolphin_generalsettings.kcfgc
diff --git a/src/panels/places/dolphin_placespanelsettings.kcfg b/src/panels/places/dolphin_placespanelsettings.kcfg
new file mode 100644
index 000000000..b2ef8e574
--- /dev/null
+++ b/src/panels/places/dolphin_placespanelsettings.kcfg
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE kcfg SYSTEM "http://www.kde.org/standards/kcfg/1.0/kcfg.dtd">
+<kcfg xmlns="http://www.kde.org/standards/kcfg/1.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.kde.org/standards/kcfg/1.0
+ http://www.kde.org/standards/kcfg/1.0/kcfg.xsd">
+ <kcfgfile name="dolphinrc"/>
+ <group name="PlacesPanel">
+ <entry name="IconSize" type="Int">
+ <label>Size of icons in the Places Panel (-1 means "use the style's small size")</label>
+ <default>-1</default>
+ </entry>
+ </group>
+</kcfg>
diff --git a/src/panels/places/dolphin_placespanelsettings.kcfgc b/src/panels/places/dolphin_placespanelsettings.kcfgc
new file mode 100644
index 000000000..65a77ec34
--- /dev/null
+++ b/src/panels/places/dolphin_placespanelsettings.kcfgc
@@ -0,0 +1,4 @@
+File=dolphin_placespanelsettings.kcfg
+ClassName=PlacesPanelSettings
+Singleton=true
+Mutators=true
diff --git a/src/panels/places/placespanel.cpp b/src/panels/places/placespanel.cpp
index 4b28c8510..a81b99770 100644
--- a/src/panels/places/placespanel.cpp
+++ b/src/panels/places/placespanel.cpp
@@ -33,7 +33,6 @@
#include <kitemviews/kitemlistcontroller.h>
#include <kitemviews/kitemlistselectionmanager.h>
#include <kitemviews/kstandarditem.h>
-#include <kitemviews/kstandarditemlistview.h>
#include <KMenu>
#include <KMessageBox>
#include <KNotification>
@@ -42,6 +41,7 @@
#include "placesitemlistgroupheader.h"
#include "placesitemlistwidget.h"
#include "placesitemmodel.h"
+#include "placesview.h"
#include <views/draganddrophelper.h>
#include <QGraphicsSceneDragDropEvent>
#include <QVBoxLayout>
@@ -94,7 +94,7 @@ void PlacesPanel::showEvent(QShowEvent* event)
connect(m_model, SIGNAL(errorMessage(QString)),
this, SIGNAL(errorMessage(QString)));
- KStandardItemListView* view = new KStandardItemListView();
+ PlacesView* view = new PlacesView();
view->setWidgetCreator(new KItemListWidgetCreator<PlacesItemListWidget>());
view->setGroupHeaderCreator(new KItemListGroupHeaderCreator<PlacesItemListGroupHeader>());
diff --git a/src/panels/places/placesview.cpp b/src/panels/places/placesview.cpp
new file mode 100644
index 000000000..dce5083d7
--- /dev/null
+++ b/src/panels/places/placesview.cpp
@@ -0,0 +1,35 @@
+/***************************************************************************
+ * Copyright (C) 2012 by Frank Reininghaus <[email protected]> *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
+ ***************************************************************************/
+
+#include "placesview.h"
+
+#include "dolphin_placespanelsettings.h"
+
+PlacesView::PlacesView(QGraphicsWidget* parent) :
+ KStandardItemListView(parent)
+{
+ const int iconSize = PlacesPanelSettings::iconSize();
+ if (iconSize >= 0) {
+ KItemListStyleOption option = styleOption();
+ option.iconSize = iconSize;
+ setStyleOption(option);
+ }
+}
+
+#include "placesview.moc"
diff --git a/src/panels/places/placesview.h b/src/panels/places/placesview.h
new file mode 100644
index 000000000..87eb3a50b
--- /dev/null
+++ b/src/panels/places/placesview.h
@@ -0,0 +1,38 @@
+/***************************************************************************
+ * Copyright (C) 2012 by Frank Reininghaus <[email protected]> *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
+ ***************************************************************************/
+
+#ifndef PLACESVIEW_H
+#define PLACESVIEW_H
+
+#include <kitemviews/kstandarditemlistview.h>
+
+/**
+ * @brief View class for the Places Panel.
+ *
+ * Reads the icon size from GeneralSettings::placesPanelIconSize().
+ */
+class PlacesView : public KStandardItemListView
+{
+ Q_OBJECT
+
+public:
+ explicit PlacesView(QGraphicsWidget* parent = 0);
+};
+
+#endif