#include <QSpinBox>
DetailsViewSettingsPage::DetailsViewSettingsPage(DolphinMainWindow* mainWindow,
- QWidget* parent) :
- KVBox(parent),
- m_mainWindow(mainWindow),
- m_dateBox(0),
- m_permissionsBox(0),
- m_ownerBox(0),
- m_groupBox(0),
- m_smallIconSize(0),
- m_mediumIconSize(0),
- m_largeIconSize(0),
- m_fontRequester(0)
+ QWidget* parent) :
+ KVBox(parent),
+ m_mainWindow(mainWindow),
+ m_dateBox(0),
+ m_permissionsBox(0),
+ m_ownerBox(0),
+ m_groupBox(0),
+ m_smallIconSize(0),
+ m_mediumIconSize(0),
+ m_largeIconSize(0),
+ m_fontRequester(0)
{
const int spacing = KDialog::spacingHint();
const int margin = KDialog::marginHint();
m_groupBox = new QCheckBox(i18n("Group"), this);
m_groupBox->setChecked(settings->showGroup());
+ m_typeBox = new QCheckBox(i18n("Type"), this);
+ m_typeBox->setChecked(settings->showType());
+
QHBoxLayout* columnsLayout = new QHBoxLayout(columnsBox);
columnsLayout->addWidget(m_dateBox);
columnsLayout->addWidget(m_permissionsBox);
columnsLayout->addWidget(m_ownerBox);
columnsLayout->addWidget(m_groupBox);
+ columnsLayout->addWidget(m_typeBox);
// Create "Icon" properties
QGroupBox* iconSizeBox = new QGroupBox(i18n("Icon Size"), this);
}
DetailsViewSettingsPage::~DetailsViewSettingsPage()
-{}
+{
+}
void DetailsViewSettingsPage::applySettings()
{
settings->setShowPermissions(m_permissionsBox->isChecked());
settings->setShowOwner(m_ownerBox->isChecked());
settings->setShowGroup(m_groupBox->isChecked());
+ settings->setShowType(m_typeBox->isChecked());
int iconSize = K3Icon::SizeSmall;
if (m_mediumIconSize->isChecked()) {
QCheckBox* m_permissionsBox;
QCheckBox* m_ownerBox;
QCheckBox* m_groupBox;
+ QCheckBox* m_typeBox;
QRadioButton* m_smallIconSize;
QRadioButton* m_mediumIconSize;
QRadioButton* m_largeIconSize;
<label>Show size</label>
<default>false</default>
</entry>
+ <entry name="ShowType" type="Bool">
+ <label>Show type</label>
+ <default>false</default>
+ </entry>
</group>
</kcfg>
\ No newline at end of file
if (!settings->showGroup()) {
hideColumn(KDirModel::Group);
}
+
+ if (!settings->showType()) {
+ hideColumn(KDirModel::Type);
+ }
}
return QTreeView::event(event);
case DolphinView::SortByGroup:
action = actionCollection()->action("by_group");
break;
+ case DolphinView::SortByType:
+ action = actionCollection()->action("by_type");
default:
break;
}
m_activeView->setSorting(DolphinView::SortByGroup);
}
+void DolphinMainWindow::sortByType()
+{
+ m_activeView->setSorting(DolphinView::SortByType);
+}
+
void DolphinMainWindow::toggleSortOrder()
{
const Qt::SortOrder order = (m_activeView->sortOrder() == Qt::AscendingOrder) ?
sortByGroup->setText(i18n("By Group"));
connect(sortByGroup, SIGNAL(triggered()), this, SLOT(sortByGroup()));
+ KToggleAction* sortByType = actionCollection()->add<KToggleAction>("by_type");
+ sortByType->setText(i18n("By Type"));
+ connect(sortByType, SIGNAL(triggered()), this, SLOT(sortByType()));
+
QActionGroup* sortGroup = new QActionGroup(this);
sortGroup->addAction(sortByName);
sortGroup->addAction(sortBySize);
sortGroup->addAction(sortByPermissions);
sortGroup->addAction(sortByOwner);
sortGroup->addAction(sortByGroup);
+ sortGroup->addAction(sortByType);
KToggleAction* sortDescending = actionCollection()->add<KToggleAction>("descending");
sortDescending->setText(i18n("Descending"));
// after the dock concept has been finalized.
// setup "Information"
+
+ // TODO: temporary deactivated info sidebar because of some minor side effects
+
+ /*
QDockWidget* infoDock = new QDockWidget(i18n("Information"));
infoDock->setObjectName("infoDock");
infoDock->setAllowedAreas(Qt::LeftDockWidgetArea | Qt::RightDockWidgetArea);
actionCollection()->addAction("show_info_panel", infoDock->toggleViewAction());
addDockWidget(Qt::RightDockWidgetArea, infoDock);
- connectSidebarPage(infoWidget);
+ connectSidebarPage(infoWidget);*/
// setup "Tree View"
QDockWidget* treeViewDock = new QDockWidget(i18n("Folders"));
const bool firstRun = DolphinSettings::instance().generalSettings()->firstRun();
if (firstRun) {
- infoDock->hide();
+ //infoDock->hide();
treeViewDock->hide();
}
/** The sorting of the current view should be done by the group. */
void sortByGroup();
+ /** The sorting of the current view should be done by the type. */
+ void sortByType();
+
/** Switches between an ascending and descending sorting order. */
void toggleSortOrder();
#include <kdirmodel.h>
#include <kfileitem.h>
-static const int dolphinMapSize = 6;
+static const int dolphinMapSize = 7;
static int dolphinViewToDirModelColumn[] =
- {
- KDirModel::Name, // DolphinView::SortByName
- KDirModel::Size, // DolphinView::SortBySize
- KDirModel::ModifiedTime, // DolphinView::SortByDate
- KDirModel::Permissions, // DolphinView::SortByPermissions
- KDirModel::Owner, // DolphinView::SortByOwner
- KDirModel::Group // DolphinView::SortByGroup
- };
+{
+ KDirModel::Name, // DolphinView::SortByName
+ KDirModel::Size, // DolphinView::SortBySize
+ KDirModel::ModifiedTime, // DolphinView::SortByDate
+ KDirModel::Permissions, // DolphinView::SortByPermissions
+ KDirModel::Owner, // DolphinView::SortByOwner
+ KDirModel::Group, // DolphinView::SortByGroup
+ KDirModel::Type // DolphinView::SortByType
+};
static DolphinView::Sorting dirModelColumnToDolphinView[] =
- {
- DolphinView::SortByName, // KDirModel::Name
- DolphinView::SortBySize, // KDirModel::Size
- DolphinView::SortByDate, // KDirModel::ModifiedTime
- DolphinView::SortByPermissions, // KDirModel::Permissions
- DolphinView::SortByOwner, // KDirModel::Owner
- DolphinView::SortByGroup // KDirModel::Group
- };
+{
+ DolphinView::SortByName, // KDirModel::Name
+ DolphinView::SortBySize, // KDirModel::Size
+ DolphinView::SortByDate, // KDirModel::ModifiedTime
+ DolphinView::SortByPermissions, // KDirModel::Permissions
+ DolphinView::SortByOwner, // KDirModel::Owner
+ DolphinView::SortByGroup, // KDirModel::Group
+ DolphinView::SortByType // KDirModel::Type
+};
DolphinSortFilterProxyModel::DolphinSortFilterProxyModel(QObject* parent) :
<Action name="by_permissions" />
<Action name="by_owner" />
<Action name="by_group" />
+ <Action name="by_type" />
<Separator/>
<Action name="descending" />
<Action name="categorized" />
SortByPermissions,
SortByOwner,
SortByGroup,
- MaxSortEnum = SortByGroup
+ SortByType,
+ MaxSortEnum = SortByType
};
DolphinView(DolphinMainWindow* mainwindow,
hideColumn(KDirModel::Permissions);
hideColumn(KDirModel::Owner);
hideColumn(KDirModel::Group);
+ hideColumn(KDirModel::Type);
header()->hide();
}
m_viewMode->addItem(KIcon("fileview-column"), i18n("Column"));
const int index = static_cast<int>(m_viewProps->viewMode());
m_viewMode->setCurrentIndex(index);
+ const bool iconsViewEnabled = (index == DolphinView::IconsView);
QLabel* sortingLabel = new QLabel(i18n("Sorting:"), propsBox);
QWidget* sortingBox = new QWidget(propsBox);
m_categorizedSorting->addItem(i18n("Uncategorized"));
m_categorizedSorting->addItem(i18n("Categorized"));
m_categorizedSorting->setCurrentIndex(m_viewProps->categorizedSorting() ? 1 : 0);
+ m_categorizedSorting->setEnabled(iconsViewEnabled);
m_sorting = new QComboBox(sortingBox);
m_sorting->addItem("By Name");
m_sorting->addItem("By Permissions");
m_sorting->addItem("By Owner");
m_sorting->addItem("By Group");
+ m_sorting->addItem("By Type");
m_sorting->setCurrentIndex(m_viewProps->sorting());
QHBoxLayout* sortingLayout = new QHBoxLayout();
m_additionalInfo->addItem(i18n("Date"), KFileItemDelegate::ModificationTime);
const int addInfoIndex = m_additionalInfo->findData(m_viewProps->additionalInfo());
m_additionalInfo->setCurrentIndex(addInfoIndex);
- m_additionalInfo->setEnabled(m_viewProps->viewMode() == DolphinView::IconsView);
+ m_additionalInfo->setEnabled(iconsViewEnabled);
m_showPreview = new QCheckBox(i18n("Show preview"), propsBox);
m_showPreview->setChecked(m_viewProps->showPreview());