X-Git-Url: https://cloud.milkyroute.net/gitweb/dolphin.git/blobdiff_plain/5252c12db4929886dbe502013e0a1fee6500f568..f57f351cceb9b664d681aad3680998f5bfe2137c:/src/dolphinsettings.cpp diff --git a/src/dolphinsettings.cpp b/src/dolphinsettings.cpp index 8e040d767..0db0ad204 100644 --- a/src/dolphinsettings.cpp +++ b/src/dolphinsettings.cpp @@ -15,27 +15,21 @@ * 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., * - * 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. * + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA * ***************************************************************************/ #include "dolphinsettings.h" -#include -#include - -#include #include #include -#include +#include #include #include -#include "dolphin.h" -#include "generalsettings.h" -#include "iconsmodesettings.h" -#include "previewsmodesettings.h" -#include "detailsmodesettings.h" -#include "sidebarsettings.h" +#include "dolphin_columnmodesettings.h" +#include "dolphin_detailsmodesettings.h" +#include "dolphin_generalsettings.h" +#include "dolphin_iconsmodesettings.h" DolphinSettings& DolphinSettings::instance() { @@ -48,121 +42,39 @@ DolphinSettings& DolphinSettings::instance() KBookmark DolphinSettings::bookmark(int index) const { - int i = 0; - KBookmarkGroup root = bookmarkManager()->root(); - KBookmark bookmark = root.first(); - while (!bookmark.isNull()) { - if (i == index) { - return bookmark; - } - ++i; - bookmark = root.next(bookmark); - } - - return KBookmark(); + return bookmarkManager()->findByAddress(QString('/') + QString::number(index)); } KBookmarkManager* DolphinSettings::bookmarkManager() const { - QString basePath = KGlobal::instance()->instanceName(); + QString basePath = KGlobal::mainComponent().componentName(); basePath.append("/bookmarks.xml"); - const QString file = locateLocal("data", basePath); + const QString file = KStandardDirs::locateLocal("data", basePath); - return KBookmarkManager::managerForFile(file, false); + return KBookmarkManager::managerForFile(file, "dolphin", false); } void DolphinSettings::save() { m_generalSettings->writeConfig(); m_iconsModeSettings->writeConfig(); - m_previewsModeSettings->writeConfig(); m_detailsModeSettings->writeConfig(); - m_sidebarSettings->writeConfig(); + m_columnModeSettings->writeConfig(); - QString basePath = KGlobal::instance()->instanceName(); + QString basePath = KGlobal::mainComponent().componentName(); basePath.append("/bookmarks.xml"); - const QString file = locateLocal( "data", basePath); + const QString file = KStandardDirs::locateLocal( "data", basePath); - KBookmarkManager* manager = KBookmarkManager::managerForFile(file, false); + KBookmarkManager* manager = KBookmarkManager::managerForFile(file, "dolphin", false); manager->save(false); } -void DolphinSettings::calculateGridSize(int hint) -{ - // TODO: remove in KDE4 - const int previewSize = m_iconsModeSettings->previewSize(); - const int iconSize = m_iconsModeSettings->iconSize(); - const int maxSize = (previewSize > iconSize) ? previewSize : iconSize; - const Q3IconView::Arrangement arrangement = (m_iconsModeSettings->arrangement() == "LeftToRight") ? - Q3IconView::LeftToRight : Q3IconView::TopToBottom; - - int gridWidth = 0; - int gridHeight = 0; - if (arrangement == Q3IconView::LeftToRight) { - int widthUnit = maxSize + (maxSize / 2); - if (widthUnit < KIcon::SizeLarge) { - widthUnit = KIcon::SizeLarge; - } - - gridWidth = widthUnit + hint * KIcon::SizeLarge; - - gridHeight = iconSize; - if (gridHeight <= KIcon::SizeMedium) { - gridHeight = gridHeight * 2; - } - else { - gridHeight += maxSize / 2; - } - } - else { - assert(arrangement == Q3IconView::TopToBottom); - gridWidth = maxSize + (hint + 1) * (8 * m_iconsModeSettings->fontSize()); - - // The height-setting is ignored yet by KFileIconView if the TopToBottom - // arrangement is active. Anyway write the setting to have a defined value. - gridHeight = maxSize; - } - - m_iconsModeSettings->setGridWidth(gridWidth); - m_iconsModeSettings->setGridHeight(gridHeight); -} - -int DolphinSettings::textWidthHint() const -{ - // TODO: remove in KDE4 - const int previewSize = m_iconsModeSettings->previewSize(); - const int iconSize = m_iconsModeSettings->iconSize(); - const Q3IconView::Arrangement arrangement = (m_iconsModeSettings->arrangement() == "LeftToRight") ? - Q3IconView::LeftToRight : Q3IconView::TopToBottom; - - const int gridWidth = m_iconsModeSettings->gridWidth(); - - const int maxSize = (previewSize > iconSize) ? previewSize : iconSize; - int hint = 0; - if (arrangement == Q3IconView::LeftToRight) { - int widthUnit = maxSize + (maxSize / 2); - if (widthUnit < KIcon::SizeLarge) { - widthUnit = KIcon::SizeLarge; - } - hint = (gridWidth - widthUnit) / KIcon::SizeLarge; - } - else { - assert(arrangement == Q3IconView::TopToBottom); - hint = (gridWidth - maxSize) / (8 * m_iconsModeSettings->fontSize()) - 1; - if (hint > 2) { - hint = 2; - } - } - return hint; -} - DolphinSettings::DolphinSettings() { m_generalSettings = new GeneralSettings(); m_iconsModeSettings = new IconsModeSettings(); - m_previewsModeSettings = new PreviewsModeSettings(); m_detailsModeSettings = new DetailsModeSettings(); - m_sidebarSettings = new SidebarSettings(); + m_columnModeSettings = new ColumnModeSettings(); } DolphinSettings::~DolphinSettings() @@ -173,12 +85,9 @@ DolphinSettings::~DolphinSettings() delete m_iconsModeSettings; m_iconsModeSettings = 0; - delete m_previewsModeSettings; - m_previewsModeSettings = 0; - delete m_detailsModeSettings; m_detailsModeSettings = 0; - delete m_sidebarSettings; - m_sidebarSettings = 0; + delete m_columnModeSettings; + m_columnModeSettings = 0; }