* 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 "viewsettingspage.h"
-#include <qtabwidget.h>
-#include <qlayout.h>
-#include <qlabel.h>
-//Added by qt3to4:
-#include <Q3VBoxLayout>
-#include <kdialogbase.h>
-#include <klocale.h>
-#include "iconsviewsettingspage.h"
+
+#include "columnviewsettingspage.h"
#include "detailsviewsettingspage.h"
+#include "dolphinmainwindow.h"
+#include "dolphinviewcontainer.h"
+#include "generalviewsettingspage.h"
+#include "iconsviewsettingspage.h"
+
+#include <QtGui/QBoxLayout>
+#include <QtGui/QTabWidget>
+#include <QtGui/QLayout>
+#include <QtGui/QLabel>
+
+#include <kdialog.h>
+#include <klocale.h>
+#include <kiconloader.h>
-ViewSettingsPage::ViewSettingsPage(QWidget *parent) :
+ViewSettingsPage::ViewSettingsPage(DolphinMainWindow* mainWindow,
+ QWidget* parent) :
SettingsPageBase(parent),
- m_iconsPage(0),
- m_detailsPage(0),
- m_previewsPage(0)
+ m_pages()
{
- Q3VBoxLayout* topLayout = new Q3VBoxLayout(parent, 0, KDialog::spacingHint());
+ QVBoxLayout* topLayout = new QVBoxLayout(this);
+ topLayout->setMargin(0);
+ topLayout->setSpacing(KDialog::spacingHint());
+
+ QTabWidget* tabWidget = new QTabWidget(this);
- QTabWidget* tabWidget = new QTabWidget(parent);
+ // initialize 'General' tab
+ const KUrl& url = mainWindow->activeViewContainer()->url();
+ GeneralViewSettingsPage* generalPage = new GeneralViewSettingsPage(url, tabWidget);
+ tabWidget->addTab(generalPage, KIcon("view-choose"), i18nc("@title:tab General settings", "General"));
+ connect(generalPage, SIGNAL(changed()), this, SIGNAL(changed()));
// initialize 'Icons' tab
- m_iconsPage = new IconsViewSettingsPage(DolphinIconsView::Icons, tabWidget);
- tabWidget->addTab(m_iconsPage, SmallIcon("view_icon"), i18n("Icons"));
+ IconsViewSettingsPage* iconsPage = new IconsViewSettingsPage(tabWidget);
+ tabWidget->addTab(iconsPage, KIcon("view-list-icons"), i18nc("@title:tab", "Icons"));
+ connect(iconsPage, SIGNAL(changed()), this, SIGNAL(changed()));
// initialize 'Details' tab
- m_detailsPage = new DetailsViewSettingsPage(tabWidget);
- tabWidget->addTab(m_detailsPage, SmallIcon("view_text"), i18n("Details"));
+ DetailsViewSettingsPage* detailsPage = new DetailsViewSettingsPage(tabWidget);
+ tabWidget->addTab(detailsPage, KIcon("view-list-details"), i18nc("@title:tab", "Details"));
+ connect(detailsPage, SIGNAL(changed()), this, SIGNAL(changed()));
+
+ // initialize 'Column' tab
+ ColumnViewSettingsPage* columnPage = new ColumnViewSettingsPage(tabWidget);
+ tabWidget->addTab(columnPage, KIcon("view-file-columns"), i18nc("@title:tab", "Column"));
+ connect(columnPage, SIGNAL(changed()), this, SIGNAL(changed()));
- // initialize 'Previews' tab
- m_previewsPage = new IconsViewSettingsPage(DolphinIconsView::Previews, tabWidget);
- tabWidget->addTab(m_previewsPage, SmallIcon("gvdirpart"), i18n("Previews"));
+ m_pages.append(generalPage);
+ m_pages.append(iconsPage);
+ m_pages.append(detailsPage);
+ m_pages.append(columnPage);
- topLayout->addWidget(tabWidget, 0, 0 );
+ topLayout->addWidget(tabWidget, 0, 0);
}
ViewSettingsPage::~ViewSettingsPage()
void ViewSettingsPage::applySettings()
{
- m_iconsPage->applySettings();
- m_detailsPage->applySettings();
- m_previewsPage->applySettings();
+ foreach (ViewSettingsPageBase* page, m_pages) {
+ page->applySettings();
+ }
+}
+
+void ViewSettingsPage::restoreDefaults()
+{
+ foreach (ViewSettingsPageBase* page, m_pages) {
+ page->restoreDefaults();
+ }
}
#include "viewsettingspage.moc"