summaryrefslogtreecommitdiffstats
path: root/konqueror/listview/konq_listview.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'konqueror/listview/konq_listview.cpp')
-rw-r--r--konqueror/listview/konq_listview.cpp354
1 files changed, 321 insertions, 33 deletions
diff --git a/konqueror/listview/konq_listview.cpp b/konqueror/listview/konq_listview.cpp
index 67da49c6d..6a0d58973 100644
--- a/konqueror/listview/konq_listview.cpp
+++ b/konqueror/listview/konq_listview.cpp
@@ -48,6 +48,8 @@
#include <unistd.h>
#include <kinstance.h>
+#include <konq_sort_constants.h>
+
KonqListViewFactory::KonqListViewFactory()
{
s_instance = 0;
@@ -268,6 +270,8 @@ KonqListView::KonqListView( TQWidget *parentWidget, TQObject *parent, const char
m_mimeTypeResolver = new KMimeTypeResolver<KonqBaseListViewItem,KonqListView>(this);
setXMLFile( xmlFile );
+ m_sortColumnIndexPrimary = 0;
+ m_sortColumnIndexAlternate = 1;
setupActions();
@@ -285,21 +289,20 @@ KonqListView::KonqListView( TQWidget *parentWidget, TQObject *parent, const char
// Note: File Type is in fact the mimetype comment. We use UDS_FILE_TYPE but that's not what we show in fact :/
m_pListView->confColumns[10].setData(I18N_NOOP("File Type"),"Type",TDEIO::UDS_FILE_TYPE,m_paShowType);
+ connect( m_pListView, TQ_SIGNAL( selectionChanged() ),
+ m_extension, TQ_SLOT( updateActions() ) );
+ connect( m_pListView, TQ_SIGNAL( selectionChanged() ),
+ this, TQ_SLOT( slotSelectionChanged() ) );
- connect( m_pListView, TQT_SIGNAL( selectionChanged() ),
- m_extension, TQT_SLOT( updateActions() ) );
- connect( m_pListView, TQT_SIGNAL( selectionChanged() ),
- this, TQT_SLOT( slotSelectionChanged() ) );
-
- connect( m_pListView, TQT_SIGNAL( currentChanged(TQListViewItem*) ),
- m_extension, TQT_SLOT( updateActions() ) );
- connect(m_pListView->header(),TQT_SIGNAL(indexChange(int,int,int)),this,TQT_SLOT(headerDragged(int,int,int)));
- connect(m_pListView->header(),TQT_SIGNAL(clicked(int)),this,TQT_SLOT(slotHeaderClicked(int)));
- connect(m_pListView->header(),TQT_SIGNAL(sizeChange(int,int,int)),TQT_SLOT(slotHeaderSizeChanged()));
+ connect( m_pListView, TQ_SIGNAL( currentChanged(TQListViewItem*) ),
+ m_extension, TQ_SLOT( updateActions() ) );
+ connect(m_pListView->header(),TQ_SIGNAL(indexChange(int,int,int)),this,TQ_SLOT(headerDragged(int,int,int)));
+ connect(m_pListView->header(),TQ_SIGNAL(clicked(int)),this,TQ_SLOT(slotHeaderClicked(int)));
+ connect(m_pListView->header(),TQ_SIGNAL(sizeChange(int,int,int)),TQ_SLOT(slotHeaderSizeChanged()));
// signals from konqdirpart (for BC reasons)
- connect( this, TQT_SIGNAL( findOpened( KonqDirPart * ) ), TQT_SLOT( slotKFindOpened() ) );
- connect( this, TQT_SIGNAL( findClosed( KonqDirPart * ) ), TQT_SLOT( slotKFindClosed() ) );
+ connect( this, TQ_SIGNAL( findOpened( KonqDirPart * ) ), TQ_SLOT( slotKFindOpened() ) );
+ connect( this, TQ_SIGNAL( findClosed( KonqDirPart * ) ), TQ_SLOT( slotKFindClosed() ) );
loadPlugins( this, this, instance() );
}
@@ -538,6 +541,9 @@ void KonqListView::slotColumnToggled()
// Update column sizes
slotHeaderSizeChanged();
+
+ // Columns may have been rearranged, so do this to be safe:
+ resetSortConfig();
}
void KonqListView::slotHeaderClicked(int sec)
@@ -560,21 +566,230 @@ void KonqListView::slotHeaderClicked(int sec)
m_pListView->setAscending(TRUE);
}
else
+ {
m_pListView->setAscending(!m_pListView->ascending());
+ }
+ checkSortConfig() ;
KonqListViewSettings config( m_pListView->url().protocol() );
config.readConfig();
+
+ if (sec == m_sortColumnIndexPrimary) {
+ kdDebug(1202)<<"Changing sort order on primary sort column"<<endl;
+ m_sortColumnOrderPrimary = m_pListView->ascending();
+ config.setPrimarySortOrder(m_pListView->ascending());
+ }
+ else if (sec == m_sortColumnIndexAlternate) {
+ kdDebug(1202)<<"Changing sort order on alternate sort column"<<endl;
+ m_sortColumnOrderAlternate = m_pListView->ascending();
+ config.setAlternateSortOrder(m_pListView->ascending());
+ }
+ else if ( toggleColumnAlternate ) {
+ kdDebug(1202)<<"Setting new alternate sort column"<<endl;
+ m_sortColumnNameAlternate = nameOfSortColumn;
+ m_sortColumnIndexAlternate = sec;
+ m_sortColumnOrderAlternate = true;
+ config.setAlternateSortCol(nameOfSortColumn);
+ config.setAlternateSortIndex(sec);
+ config.setAlternateSortOrder(true);
+ toggleColumnAlternate = false;
+ }
+ else {
+ kdDebug(1202)<<"Setting new primary sort column"<<endl;
+ m_sortColumnNamePrimary = nameOfSortColumn;
+ m_sortColumnIndexPrimary = sec;
+ m_sortColumnOrderPrimary = true;
+ config.setPrimarySortCol(nameOfSortColumn);
+ config.setPrimarySortIndex(sec);
+ config.setPrimarySortOrder(true);
+ toggleColumnAlternate = true;
+ }
+
config.setSortBy( nameOfSortColumn );
config.setSortOrder( m_pListView->ascending() );
config.writeConfig();
}
+void KonqListView::resetSortConfig()
+{
+ int defaultVisibleColumn;
+ int columnNumber;
+
+ defaultVisibleColumn = 0; // First visible column from left
+ columnNumber = -1;
+ for (uint i = 0; i < m_pListView->NumberOfAtoms; i++) {
+ if (m_pListView->confColumns[i].displayInColumn == defaultVisibleColumn) {
+ columnNumber = i;
+ }
+ }
+ if (columnNumber == -1) {
+ // This should not happen!
+ kdDebug() << "We did not find columnNumber" <<endl;
+ m_sortColumnIndexPrimary = 0;
+ m_sortColumnNamePrimary = "FileName";
+ }
+ else {
+ m_sortColumnIndexPrimary = defaultVisibleColumn;
+ m_sortColumnNamePrimary = m_pListView->confColumns[columnNumber].desktopFileName;
+ }
+
+ defaultVisibleColumn = 1 ; // Second visible column from left
+ columnNumber = -1;
+ for (uint i = 0; i < m_pListView->NumberOfAtoms; i++) {
+ if (m_pListView->confColumns[i].displayInColumn == defaultVisibleColumn) {
+ columnNumber = i;
+ }
+ }
+ if (columnNumber == -1) {
+ // This should not happen!
+ kdDebug() << "We did not find columnNumber" <<endl;
+ m_sortColumnIndexAlternate = 0;
+ m_sortColumnNameAlternate = "FileName";
+ }
+ else {
+ m_sortColumnIndexAlternate = defaultVisibleColumn;
+ m_sortColumnNameAlternate=m_pListView->confColumns[columnNumber].desktopFileName;
+ }
+
+ m_sortColumnOrderPrimary = true ;
+ m_sortColumnOrderAlternate = true ;
+
+ kdDebug(1202) << "Initialized m_sortColumnIndexPrimary to " <<m_sortColumnIndexPrimary <<endl;
+ kdDebug(1202) << "Initialized m_sortColumnNamePrimary to " <<m_sortColumnNamePrimary <<endl;
+ kdDebug(1202) << "Initialized m_sortColumnIndexAlternate to " <<m_sortColumnIndexAlternate <<endl;
+ kdDebug(1202) << "Initialized m_sortColumnNameAlternate to " <<m_sortColumnNameAlternate <<endl;
+
+ KonqListViewSettings config( m_pListView->url().protocol() );
+ config.setPrimarySortCol(m_sortColumnNamePrimary);
+ config.setPrimarySortIndex(m_sortColumnIndexPrimary);
+ config.setPrimarySortOrder(m_sortColumnOrderPrimary);
+ config.setAlternateSortCol(m_sortColumnNameAlternate);
+ config.setAlternateSortIndex(m_sortColumnIndexAlternate);
+ config.setAlternateSortOrder(m_sortColumnOrderAlternate);
+ config.writeConfig() ;
+}
+
+void KonqListView::checkSortConfig()
+{
+ KonqListViewSettings config( m_pListView->url().protocol() );
+ config.readConfig();
+
+ m_sortColumnIndexPrimary = config.primarySortIndex();
+ m_sortColumnNamePrimary = config.primarySortCol();
+ m_sortColumnOrderPrimary = config.primarySortOrder();
+
+ m_sortColumnIndexAlternate = config.alternateSortIndex();
+ m_sortColumnNameAlternate = config.alternateSortCol();
+ m_sortColumnOrderAlternate = config.alternateSortOrder();
+
+ if (m_sortColumnIndexPrimary >= 0 && m_sortColumnIndexAlternate >= 0)
+ return ;
+
+ resetSortConfig();
+}
+
+#define LV_SORT_CHANGE_COLUMN 1
+#define LV_SORT_CHANGE_ORDER 2
+
+void KonqListView::sortListView(uint which)
+{
+ TQString sortColumnNameCurrent = m_pListView->sortedByColumn;
+ if (sortColumnNameCurrent == "" ) {
+ sortColumnNameCurrent = "FileName" ;
+ m_pListView->sortedByColumn = sortColumnNameCurrent ;
+ }
+ TQString sortColumnNameNext;
+ int sortColumnIndex;
+ bool sortOrder;
+
+ checkSortConfig() ;
+ KonqListViewSettings config( m_pListView->url().protocol() );
+ config.readConfig();
+
+ switch (which)
+ {
+ case LV_SORT_CHANGE_COLUMN:
+ if (m_sortColumnNamePrimary == sortColumnNameCurrent)
+ {
+ sortColumnNameNext = m_sortColumnNameAlternate;
+ sortColumnIndex = m_sortColumnIndexAlternate;
+ sortOrder = m_sortColumnOrderAlternate;
+ kdDebug(1202) << "Changing sort column to alternate"<<endl ;
+ }
+ else
+ {
+ sortColumnNameNext = m_sortColumnNamePrimary;
+ sortColumnIndex = m_sortColumnIndexPrimary;
+ sortOrder = m_sortColumnOrderPrimary;
+ kdDebug(1202) << "Changing sort column to primary"<<endl ;
+ }
+ m_pListView->setSorting( sortColumnIndex, sortOrder );
+ m_pListView->sortedByColumn = sortColumnNameNext;
+ config.setSortBy( sortColumnNameNext );
+ break;
+
+ case LV_SORT_CHANGE_ORDER:
+ sortOrder = !m_pListView->ascending();
+
+ if ( m_sortColumnNamePrimary == sortColumnNameCurrent )
+ {
+ sortColumnIndex = m_sortColumnIndexPrimary;
+ m_sortColumnOrderPrimary = sortOrder;
+ config.setPrimarySortOrder( sortOrder );
+ kdDebug(1202) << "Changing sort order of primary"<<endl ;
+ }
+ else
+ {
+ sortColumnIndex = m_sortColumnIndexAlternate;
+ m_sortColumnOrderAlternate = sortOrder ;
+ config.setAlternateSortOrder( sortOrder ) ;
+ kdDebug(1202) << "Changing sort order of alternate"<<endl ;
+ }
+ m_pListView->setAscending(sortOrder) ;
+ config.setSortOrder(sortOrder);
+ m_pListView->setSorting( sortColumnIndex, sortOrder );
+ break;
+
+ default:
+ // Do nothing in case of invalid call
+ return;
+ }
+
+ m_pListView->sort();
+
+ config.writeConfig();
+}
+
+void KonqListView::slotSortAlternate()
+{
+ KonqListView::sortListView(LV_SORT_CHANGE_COLUMN);
+}
+
+void KonqListView::slotSortReverse()
+{
+ KonqListView::sortListView(LV_SORT_CHANGE_ORDER);
+}
+
+void KonqListView::slotToggleDisplayDirectoriesFirst()
+{
+ m_pProps->setDirsFirst( m_paDisplayDirectoriesFirst->isChecked() );
+ m_pListView->updateListContents();
+ m_pListView->sort();
+}
+
+void KonqListView::slotToggleDisplayHiddenFirst()
+{
+ m_pProps->setHiddenFirst( m_paDisplayHiddenFirst->isChecked() );
+ m_pListView->updateListContents();
+ m_pListView->sort();
+}
+
void KonqListView::headerDragged(int sec, int from, int to)
{
kdDebug(1202)<<"section: "<<sec<<" fromIndex: "<<from<<" toIndex "<<to<<endl;
//at this point the columns aren't moved yet, so I let the listview
//rearrange the stuff and use a single shot timer
- TQTimer::singleShot(200,this,TQT_SLOT(slotSaveAfterHeaderDrag()));
+ TQTimer::singleShot(200,this,TQ_SLOT(slotSaveAfterHeaderDrag()));
}
const KFileItem * KonqListView::currentItem()
@@ -609,6 +824,9 @@ void KonqListView::slotSaveAfterHeaderDrag()
// Update column sizes
slotHeaderSizeChanged();
+
+ // Columns were rearranged, so do this to be safe:
+ resetSortConfig();
}
void KonqListView::slotSaveColumnWidths()
@@ -645,7 +863,7 @@ void KonqListView::slotHeaderSizeChanged()
if ( !m_headerTimer )
{
m_headerTimer = new TQTimer( this );
- connect( m_headerTimer, TQT_SIGNAL( timeout() ), this, TQT_SLOT( slotSaveColumnWidths() ) );
+ connect( m_headerTimer, TQ_SIGNAL( timeout() ), this, TQ_SLOT( slotSaveColumnWidths() ) );
}
else
m_headerTimer->stop();
@@ -667,33 +885,33 @@ void KonqListView::slotKFindClosed()
void KonqListView::setupActions()
{
- m_paShowTime=new TDEToggleAction(i18n("Show &Modification Time"), 0,this, TQT_SLOT(slotColumnToggled()), actionCollection(), "show_time" );
+ m_paShowTime=new TDEToggleAction(i18n("Show &Modification Time"), 0,this, TQ_SLOT(slotColumnToggled()), actionCollection(), "show_time" );
m_paShowTime->setCheckedState(i18n("Hide &Modification Time"));
- m_paShowType=new TDEToggleAction(i18n("Show &File Type"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_type" );
+ m_paShowType=new TDEToggleAction(i18n("Show &File Type"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_type" );
m_paShowType->setCheckedState(i18n("Hide &File Type"));
- m_paShowMimeType=new TDEToggleAction(i18n("Show MimeType"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_mimetype" );
+ m_paShowMimeType=new TDEToggleAction(i18n("Show MimeType"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_mimetype" );
m_paShowMimeType->setCheckedState(i18n("Hide MimeType"));
- m_paShowAccessTime=new TDEToggleAction(i18n("Show &Access Time"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_access_time" );
+ m_paShowAccessTime=new TDEToggleAction(i18n("Show &Access Time"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_access_time" );
m_paShowAccessTime->setCheckedState(i18n("Hide &Access Time"));
- m_paShowCreateTime=new TDEToggleAction(i18n("Show &Creation Time"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_creation_time" );
+ m_paShowCreateTime=new TDEToggleAction(i18n("Show &Creation Time"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_creation_time" );
m_paShowCreateTime->setCheckedState(i18n("Hide &Creation Time"));
- m_paShowLinkDest=new TDEToggleAction(i18n("Show &Link Destination"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_link_dest" );
+ m_paShowLinkDest=new TDEToggleAction(i18n("Show &Link Destination"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_link_dest" );
m_paShowLinkDest->setCheckedState(i18n("Hide &Link Destination"));
- m_paShowSize=new TDEToggleAction(i18n("Show Filesize"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_size" );
+ m_paShowSize=new TDEToggleAction(i18n("Show Filesize"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_size" );
m_paShowSize->setCheckedState(i18n("Hide Filesize"));
- m_paShowOwner=new TDEToggleAction(i18n("Show Owner"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_owner" );
+ m_paShowOwner=new TDEToggleAction(i18n("Show Owner"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_owner" );
m_paShowOwner->setCheckedState(i18n("Hide Owner"));
- m_paShowGroup=new TDEToggleAction(i18n("Show Group"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_group" );
+ m_paShowGroup=new TDEToggleAction(i18n("Show Group"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_group" );
m_paShowGroup->setCheckedState(i18n("Hide Group"));
- m_paShowPermissions=new TDEToggleAction(i18n("Show Permissions"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_permissions" );
+ m_paShowPermissions=new TDEToggleAction(i18n("Show Permissions"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_permissions" );
m_paShowPermissions->setCheckedState(i18n("Hide Permissions"));
- m_paShowURL=new TDEToggleAction(i18n("Show URL"), 0, this, TQT_SLOT(slotColumnToggled()),actionCollection(), "show_url" );
+ m_paShowURL=new TDEToggleAction(i18n("Show URL"), 0, this, TQ_SLOT(slotColumnToggled()),actionCollection(), "show_url" );
- m_paSelect = new TDEAction( i18n( "Se&lect..." ), CTRL+Key_Plus, this, TQT_SLOT( slotSelect() ), actionCollection(), "select" );
- m_paUnselect = new TDEAction( i18n( "Unselect..." ), CTRL+Key_Minus, this, TQT_SLOT( slotUnselect() ), actionCollection(), "unselect" );
- m_paSelectAll = KStdAction::selectAll( this, TQT_SLOT( slotSelectAll() ), actionCollection(), "selectall" );
- m_paUnselectAll = new TDEAction( i18n( "Unselect All" ), CTRL+Key_U, this, TQT_SLOT( slotUnselectAll() ), actionCollection(), "unselectall" );
- m_paInvertSelection = new TDEAction( i18n( "&Invert Selection" ), CTRL+Key_Asterisk, this, TQT_SLOT( slotInvertSelection() ), actionCollection(), "invertselection" );
+ m_paSelect = new TDEAction( i18n( "Se&lect..." ), CTRL+Key_Plus, this, TQ_SLOT( slotSelect() ), actionCollection(), "select" );
+ m_paUnselect = new TDEAction( i18n( "Unselect..." ), CTRL+Key_Minus, this, TQ_SLOT( slotUnselect() ), actionCollection(), "unselect" );
+ m_paSelectAll = KStdAction::selectAll( this, TQ_SLOT( slotSelectAll() ), actionCollection(), "selectall" );
+ m_paUnselectAll = new TDEAction( i18n( "Unselect All" ), CTRL+Key_U, this, TQ_SLOT( slotUnselectAll() ), actionCollection(), "unselectall" );
+ m_paInvertSelection = new TDEAction( i18n( "&Invert Selection" ), CTRL+Key_Asterisk, this, TQ_SLOT( slotInvertSelection() ), actionCollection(), "invertselection" );
// These 2 actions are 'fake' actions. They are defined so that the keyboard shortcuts
// can be set from the 'Configure Shortcuts..." dialog.
@@ -711,9 +929,53 @@ void KonqListView::setupActions()
m_paRenameMovePrev->setToolTip( i18n("Complete rename operation and move the previous item"));
m_paRenameMovePrev->setEnabled(false);
- m_paShowDot = new TDEToggleAction( i18n( "Show &Hidden Files" ), 0, this, TQT_SLOT( slotShowDot() ), actionCollection(), "show_dot" );
+ m_paShowDot = new TDEToggleAction( i18n( "Show &Hidden Files" ), 0, this, TQ_SLOT( slotShowDot() ), actionCollection(), "show_dot" );
// m_paShowDot->setCheckedState(i18n("Hide &Hidden Files"));
- m_paCaseInsensitive = new TDEToggleAction(i18n("Case Insensitive Sort"), 0, this, TQT_SLOT(slotCaseInsensitive()),actionCollection(), "sort_caseinsensitive" );
+
+ m_paCaseInsensitive = new TDEToggleAction(i18n("Case Insensitive Sort"), 0, this, TQ_SLOT(slotCaseInsensitive()),actionCollection(), "sort_caseinsensitive" );
+
+ m_paSortAlternate = new TDEAction( i18n( "&Alternate Sort Order" ), CTRL+Key_S, this,
+ TQ_SLOT( slotSortAlternate() ), actionCollection(), "alternate_sort_order");
+ m_paSortAlternate->setToolTip( i18n( "Sort by PREVIOUS sort column" ) );
+ m_paSortReverse = new TDEAction( i18n( "&Reverse Sort Order" ), CTRL+Key_R, this,
+ TQ_SLOT( slotSortReverse() ), actionCollection(), "reverse_sort_order");
+ m_paSortReverse->setToolTip( i18n( "Reverse sort order of current sort column" ) );
+
+ /*
+ Build View->Sort submenu interface to properties
+ SortOrder, SortDirsFirst & SortHiddenFirst
+ */
+ TextSortOrder initialOrder = m_pProps->getSortOrder();
+
+ m_paOrderUnicodeUnmodified = new TDEToggleAction( i18n( "&Unicode based" ), ALT+Key_1, this,
+ TQ_SLOT( slotOrderUnicodeUnmodified() ), actionCollection(), "order_unicode_based" );
+ m_paOrderUnicodeUnmodified->setToolTip( i18n( "Strict numeric Unicode based order" ) );
+ m_paOrderUnicodeUnmodified->setChecked( initialOrder == UNICODE_UNMODIFIED );
+
+ m_paOrderUnicodeCaseInsensitive = new TDEToggleAction( i18n( "Unicode based, &case insensitive" ), ALT+Key_2, this,
+ TQ_SLOT( slotOrderUnicodeCaseInsensitive() ), actionCollection(), "order_unicode_based_case_insensitive" );
+ m_paOrderUnicodeCaseInsensitive->setToolTip( i18n( "Unicode based order but with lower/upper case ASCII letters adjacent" ) );
+ m_paOrderUnicodeCaseInsensitive->setChecked(initialOrder == UNICODE_CASEINSENSITIVE);
+
+ m_paOrderLocale = new TDEToggleAction( i18n( "&Locale based" ), ALT+Key_3, this,
+ TQ_SLOT( slotOrderLocale() ), actionCollection(), "order_locale_based" );
+ m_paOrderLocale->setToolTip( i18n( "Locale based order, usually \"friendly\"" ) );
+ m_paOrderLocale->setChecked(initialOrder == LOCALE_UNMODIFIED);
+
+ // Convert above 3 checkbox menu items into single 3-way radio button menu item
+ m_paOrderUnicodeUnmodified->setExclusiveGroup( "sortOrder" );
+ m_paOrderUnicodeCaseInsensitive->setExclusiveGroup( "sortOrder" );
+ m_paOrderLocale->setExclusiveGroup( "sortOrder" );
+
+ m_paDisplayDirectoriesFirst = new TDEToggleAction( i18n("Group &Directories First"), CTRL+SHIFT+Key_F, this,
+ TQ_SLOT(slotToggleDisplayDirectoriesFirst()), actionCollection(), "group_directories_first");
+ m_paDisplayDirectoriesFirst->setToolTip( i18n( "Always display directories before non-directories" ) );
+ m_paDisplayDirectoriesFirst->setChecked(m_pProps->isDirsFirst());
+
+ m_paDisplayHiddenFirst = new TDEToggleAction( i18n("Group &Hidden First"), CTRL+SHIFT+Key_H, this,
+ TQ_SLOT(slotToggleDisplayHiddenFirst()), actionCollection(), "group_hidden_first");
+ m_paDisplayHiddenFirst->setToolTip( i18n( "Always display hidden files before non-hidden files" ) );
+ m_paDisplayHiddenFirst->setChecked(m_pProps->isHiddenFirst());
newIconSize( TDEIcon::SizeSmall /* default size */ );
}
@@ -726,6 +988,32 @@ void KonqListView::slotSelectionChanged()
// m_paInvertSelection->setEnabled( itemSelected );
}
-#include "konq_listview.moc"
+void KonqListView::slotOrderUnicodeUnmodified()
+{
+ TextSortOrder sortOrder = UNICODE_UNMODIFIED ;
+ kdDebug(1202) << "Setting name order = " << sortOrder << endl;
+ m_pProps->setSortOrder( sortOrder );
+ m_pListView->m_sortOrder = sortOrder;
+ m_pListView->sort();
+}
+
+void KonqListView::slotOrderUnicodeCaseInsensitive()
+{
+ TextSortOrder sortOrder = UNICODE_CASEINSENSITIVE;
+ kdDebug(1202) << "Setting name order = " << sortOrder << endl;
+ m_pProps->setSortOrder( sortOrder );
+ m_pListView->m_sortOrder = sortOrder;
+ m_pListView->sort();
+}
+void KonqListView::slotOrderLocale()
+{
+ TextSortOrder sortOrder = LOCALE_UNMODIFIED;
+ kdDebug(1202) << "Setting name order = " << sortOrder << endl;
+ m_pProps->setSortOrder( sortOrder );
+ m_pListView->m_sortOrder = sortOrder;
+ m_pListView->sort();
+}
+
+#include "konq_listview.moc"