summaryrefslogtreecommitdiffstats
path: root/src/showfoto/setup/setup.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/showfoto/setup/setup.cpp')
-rw-r--r--src/showfoto/setup/setup.cpp153
1 files changed, 153 insertions, 0 deletions
diff --git a/src/showfoto/setup/setup.cpp b/src/showfoto/setup/setup.cpp
new file mode 100644
index 00000000..85ec82d2
--- /dev/null
+++ b/src/showfoto/setup/setup.cpp
@@ -0,0 +1,153 @@
+/* ============================================================
+ *
+ * This file is a part of digiKam project
+ * http://www.digikam.org
+ *
+ * Date : 2005-04-02
+ * Description : showfoto setup dialog.
+ *
+ * Copyright (C) 2005-2007 by Gilles Caulier <caulier dot gilles at gmail dot com>
+ *
+ * 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, 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.
+ *
+ * ============================================================ */
+
+// TQt includes.
+
+#include <tqtabwidget.h>
+#include <tqapplication.h>
+#include <tqframe.h>
+
+// KDE includes.
+
+#include <tdelocale.h>
+#include <kiconloader.h>
+#include <tdeconfig.h>
+#include <tdeapplication.h>
+
+// Local includes.
+
+#include "setuptooltip.h"
+#include "setupeditor.h"
+#include "setupdcraw.h"
+#include "setupiofiles.h"
+#include "setupslideshow.h"
+#include "setupicc.h"
+#include "setup.h"
+#include "setup.moc"
+
+namespace ShowFoto
+{
+
+class SetupPrivate
+{
+public:
+
+ SetupPrivate()
+ {
+ editorPage = 0;
+ toolTipPage = 0;
+ dcrawPage = 0;
+ iofilesPage = 0;
+ slideshowPage = 0;
+ iccPage = 0;
+ page_editor = 0;
+ page_toolTip = 0;
+ page_dcraw = 0;
+ page_iofiles = 0;
+ page_slideshow = 0;
+ page_icc = 0;
+ }
+
+ TQFrame *page_editor;
+ TQFrame *page_toolTip;
+ TQFrame *page_dcraw;
+ TQFrame *page_iofiles;
+ TQFrame *page_slideshow;
+ TQFrame *page_icc;
+
+ SetupEditor *editorPage;
+ SetupToolTip *toolTipPage;
+
+ Digikam::SetupDcraw *dcrawPage;
+ Digikam::SetupIOFiles *iofilesPage;
+ Digikam::SetupSlideShow *slideshowPage;
+ Digikam::SetupICC *iccPage;
+};
+
+Setup::Setup(TQWidget* parent, const char* name, Setup::Page page)
+ : KDialogBase(IconList, i18n("Configure"), Help|Ok|Cancel, Ok, parent,
+ name, true, true )
+{
+ d = new SetupPrivate;
+ setHelp("setupdialog.anchor", "showfoto");
+
+ d->page_editor = addPage(i18n("General"), i18n("General Settings"),
+ BarIcon("showfoto", TDEIcon::SizeMedium));
+ d->editorPage = new SetupEditor(d->page_editor);
+
+ d->page_toolTip = addPage(i18n("Tool Tip"), i18n("Thumbbar Items Tool Tip Settings"),
+ BarIcon("filetypes", TDEIcon::SizeMedium));
+ d->toolTipPage = new SetupToolTip(d->page_toolTip);
+
+ d->page_dcraw = addPage(i18n("RAW decoding"), i18n("RAW Files Decoding Settings"),
+ BarIcon("kdcraw", TDEIcon::SizeMedium));
+ d->dcrawPage = new Digikam::SetupDcraw(d->page_dcraw);
+
+ d->page_icc = addPage(i18n("Color Management"), i18n("Color Management Settings"),
+ BarIcon("colorize", TDEIcon::SizeMedium));
+ d->iccPage = new Digikam::SetupICC(d->page_icc, this);
+
+ d->page_iofiles = addPage(i18n("Save Images"), i18n("Save Images' Files' Settings"),
+ BarIcon("document-save", TDEIcon::SizeMedium));
+ d->iofilesPage = new Digikam::SetupIOFiles(d->page_iofiles);
+
+ d->page_slideshow = addPage(i18n("Slide Show"), i18n("Slide Show Settings"),
+ BarIcon("slideshow", TDEIcon::SizeMedium));
+ d->slideshowPage = new Digikam::SetupSlideShow(d->page_slideshow);
+
+ connect(this, TQ_SIGNAL(okClicked()),
+ this, TQ_SLOT(slotOkClicked()) );
+
+ if (page != LastPageUsed)
+ showPage((int) page);
+ else
+ {
+ TDEConfig* config = kapp->config();
+ config->setGroup("General Settings");
+ showPage(config->readNumEntry("Setup Page", EditorPage));
+ }
+
+ show();
+}
+
+Setup::~Setup()
+{
+ TDEConfig* config = kapp->config();
+ config->setGroup("General Settings");
+ config->writeEntry("Setup Page", activePageIndex());
+ config->sync();
+ delete d;
+}
+
+void Setup::slotOkClicked()
+{
+ d->editorPage->applySettings();
+ d->toolTipPage->applySettings();
+ d->dcrawPage->applySettings();
+ d->iofilesPage->applySettings();
+ d->slideshowPage->applySettings();
+ d->iccPage->applySettings();
+ close();
+}
+
+} // namespace ShowFoto