"Fossies" - the Fresh Open Source Software Archive  

Source code changes of the file "src/krenamewindow.cpp" between
krename-4.0.9.tar.gz and krename-4.90.90.tar.gz

About: KRename is a batch file-renamer (KDE).

krenamewindow.cpp  (krename-4.0.9):krenamewindow.cpp  (krename-4.90.90)
skipping to change at line 33 skipping to change at line 33
#include "richtextitemdelegate.h" #include "richtextitemdelegate.h"
#include "startupinfo.h" #include "startupinfo.h"
#include "tokensortmodedialog.h" #include "tokensortmodedialog.h"
#include "ui_krenamefiles.h" #include "ui_krenamefiles.h"
#include "ui_krenamedestination.h" #include "ui_krenamedestination.h"
//#include "ui_krenamesimple.h" //#include "ui_krenamesimple.h"
#include "ui_krenameplugins.h" #include "ui_krenameplugins.h"
#include "ui_krenamefilename.h" #include "ui_krenamefilename.h"
#include <kicon.h> #include <QIcon>
#include <klocale.h> #include <QPushButton>
#include <kpushbutton.h>
#include <kseparator.h> #include <kseparator.h>
#include <QDialogButtonBox> #include <QDialogButtonBox>
#include <QHeaderView>
#include <QLabel>
#include <QLineEdit>
#include <QMenu>
#include <QStackedWidget> #include <QStackedWidget>
#include <QTabBar> #include <QTabBar>
#include <QVBoxLayout> #include <QVBoxLayout>
#include <KHelpMenu>
static const KRenameWindow::TGuiMode tAdvancedMode = { static const KRenameWindow::TGuiMode tAdvancedMode = {
4, 4,
{ {
I18N_NOOP( "&1. Files" ), I18N_NOOP("&1. Files"),
I18N_NOOP( "&2. Destination" ), I18N_NOOP("&2. Destination"),
I18N_NOOP( "&3. Plugins" ), I18N_NOOP("&3. Plugins"),
I18N_NOOP( "&4. Filename" ) I18N_NOOP("&4. Filename")
}, },
{ {
0, 1, 2, 3 0, 1, 2, 3
}, },
{ {
"document-open-folder", "document-open-folder",
"document-save", "document-save",
"configure", "configure",
"edit-rename" "edit-rename"
} }
}; };
KRenameWindow::KRenameWindow( QWidget* parent ) KRenameWindow::KRenameWindow(QWidget *parent)
: KMainWindow( parent ), : KMainWindow(parent),
m_curPage( 0 ), m_guiMode( NULL ), m_curPage(0), m_guiMode(nullptr),
m_fileCount( 0 ) m_fileCount(0)
{ {
QWidget* center = new QWidget(); QWidget *center = new QWidget();
QVBoxLayout* layout = new QVBoxLayout( center ); QVBoxLayout *layout = new QVBoxLayout(center);
m_delegate = new RichTextItemDelegate(this); m_delegate = new RichTextItemDelegate(this);
m_tabBar = new QTabBar( center ); m_tabBar = new QTabBar(center);
m_stack = new QStackedWidget( center ); m_stack = new QStackedWidget(center);
m_buttons = new QDialogButtonBox( center ); m_buttons = new QDialogButtonBox(center);
layout->addWidget( m_tabBar ); layout->addWidget(m_tabBar);
layout->addWidget( m_stack ); layout->addWidget(m_stack);
layout->addWidget( new KSeparator( Qt::Horizontal, center ) ); layout->addWidget(new KSeparator(Qt::Horizontal, center));
layout->addWidget( m_buttons ); layout->addWidget(m_buttons);
layout->setStretchFactor( m_stack, 2 ); layout->setStretchFactor(m_stack, 2);
this->setCentralWidget( center ); this->setCentralWidget(center);
for( int i=0;i<tAdvancedMode.numPages;i++ ) { for (int i = 0; i < tAdvancedMode.numPages; i++) {
const QIcon & icon = KIconLoader::global()->loadIcon( tAdvancedMode.page const QIcon &icon = KIconLoader::global()->loadIcon(tAdvancedMode.pageIc
Icons[i], KIconLoader::NoGroup, KIconLoader::SizeSmall ); ons[i], KIconLoader::NoGroup, KIconLoader::SizeSmall);
m_tabBar->addTab( icon, i18n( tAdvancedMode.pageTitles[i] ) ); m_tabBar->addTab(icon, i18n(tAdvancedMode.pageTitles[i]));
} }
m_pageFiles = new Ui::KRenameFiles(); m_pageFiles = new Ui::KRenameFiles();
m_pageDests = new Ui::KRenameDestination(); m_pageDests = new Ui::KRenameDestination();
m_pagePlugins = new Ui::KRenamePlugins(); m_pagePlugins = new Ui::KRenamePlugins();
m_pageFilename = new Ui::KRenameFilename(); m_pageFilename = new Ui::KRenameFilename();
// add files page // add files page
QWidget* page = new QWidget( m_stack ); QWidget *page = new QWidget(m_stack);
m_pageFiles->setupUi( page ); m_pageFiles->setupUi(page);
m_stack->addWidget( page ); m_stack->addWidget(page);
// add destination page // add destination page
page = new QWidget( m_stack ); page = new QWidget(m_stack);
m_pageDests->setupUi( page ); m_pageDests->setupUi(page);
m_stack->addWidget( page ); m_stack->addWidget(page);
// add plugin page // add plugin page
page = new QWidget( m_stack ); page = new QWidget(m_stack);
m_pagePlugins->setupUi( page ); m_pagePlugins->setupUi(page);
m_stack->addWidget( page ); m_stack->addWidget(page);
// add filename page // add filename page
page = new QWidget( m_stack ); page = new QWidget(m_stack);
m_pageFilename->setupUi( page ); m_pageFilename->setupUi(page);
m_stack->addWidget( page ); m_stack->addWidget(page);
setupGui(); setupGui();
setupPlugins(); setupPlugins();
setupIcons(); setupIcons();
StartUpInfo* startUp = new StartUpInfo(); StartUpInfo *startUp = new StartUpInfo();
connect( startUp, SIGNAL(addFiles()), SIGNAL(addFiles())); connect(startUp, &StartUpInfo::addFiles, this, &KRenameWindow::addFiles);
connect( startUp, SIGNAL(enterTemplate()), SLOT(slotGotoTemplatesPage())); connect(startUp, &StartUpInfo::enterTemplate,
this, &KRenameWindow::slotGotoTemplatesPage);
m_pageDests->urlrequester->setMode( KFile::Directory | KFile::ExistingOnly )
; m_pageDests->urlrequester->setMode(KFile::Directory | KFile::ExistingOnly);
m_pageFiles->fileList->setItemDelegate( m_delegate ); m_pageFiles->fileList->setItemDelegate(m_delegate);
m_pageFiles->fileList->setInfoWidget( startUp ); m_pageFiles->fileList->setInfoWidget(startUp);
// Make sure that now signal occurs before setupGui was called // Make sure that now signal occurs before setupGui was called
connect( m_tabBar, SIGNAL(currentChanged(int)), SLOT(showPage(int))); connect(m_tabBar, &QTabBar::currentChanged,
connect( m_buttonClose, SIGNAL(clicked(bool)), SLOT(close())); this, &KRenameWindow::showPage);
connect( m_buttons, SIGNAL(accepted()), SLOT(slotFinish())); connect(m_buttonClose, &QPushButton::clicked,
this, &KRenameWindow::close);
connect(m_buttons, &QDialogButtonBox::accepted,
this, &KRenameWindow::slotFinish);
this->setAutoSaveSettings( "KRenameWindowSettings", true ); this->setAutoSaveSettings("KRenameWindowSettings", true);
// Show the first page in any mode // Show the first page in any mode
showPage( 0 ); showPage(0);
} }
KRenameWindow::~KRenameWindow() KRenameWindow::~KRenameWindow()
{ {
} }
void KRenameWindow::loadConfig() void KRenameWindow::loadConfig()
{ {
// ExtHistoryCombo needs an object name // ExtHistoryCombo needs an object name
m_pageFilename->filenameTemplate->setObjectName("FILENAME_TEMPLATE"); m_pageFilename->filenameTemplate->setObjectName("FILENAME_TEMPLATE");
skipping to change at line 161 skipping to change at line 162
m_pageFilename->comboPrefixCustom->setObjectName("PREVIX_CUSTOM_TEMPLATE"); m_pageFilename->comboPrefixCustom->setObjectName("PREVIX_CUSTOM_TEMPLATE");
m_pageFilename->comboSuffixCustom->setObjectName("SUFFIX_CUSTOM_TEMPLATE"); m_pageFilename->comboSuffixCustom->setObjectName("SUFFIX_CUSTOM_TEMPLATE");
m_pageFilename->filenameTemplate->loadConfig(); m_pageFilename->filenameTemplate->loadConfig();
m_pageFilename->extensionTemplate->loadConfig(); m_pageFilename->extensionTemplate->loadConfig();
m_pageFilename->comboFilenameCustom->loadConfig(); m_pageFilename->comboFilenameCustom->loadConfig();
m_pageFilename->comboExtensionCustom->loadConfig(); m_pageFilename->comboExtensionCustom->loadConfig();
m_pageFilename->comboPrefixCustom->loadConfig(); m_pageFilename->comboPrefixCustom->loadConfig();
m_pageFilename->comboSuffixCustom->loadConfig(); m_pageFilename->comboSuffixCustom->loadConfig();
KSharedConfigPtr config = KGlobal::config(); KSharedConfigPtr config = KSharedConfig::openConfig();
KConfigGroup groupGui = config->group( QString("GUISettings") ); KConfigGroup groupGui = config->group(QString("GUISettings"));
int width = groupGui.readEntry("Column0", QVariant(this->previewColumnWidth(
0))).toInt();
if (width > 0) {
this->setPreviewColumnWidth(0, width);
}
int width = groupGui.readEntry( "Column0", QVariant(this->previewColumnWidth width = groupGui.readEntry("Column1", QVariant(this->previewColumnWidth(1)))
( 0 )) ).toInt(); .toInt();
if( width > 0 ) if (width > 0) {
this->setPreviewColumnWidth( 0, width ); this->setPreviewColumnWidth(1, width);
}
width = groupGui.readEntry( "Column1", QVariant(this->previewColumnWidth( 1
)) ).toInt();
if( width > 0 )
this->setPreviewColumnWidth( 1, width );
} }
void KRenameWindow::saveConfig() void KRenameWindow::saveConfig()
{ {
m_pageFilename->filenameTemplate->saveConfig(); m_pageFilename->filenameTemplate->saveConfig();
m_pageFilename->extensionTemplate->saveConfig(); m_pageFilename->extensionTemplate->saveConfig();
m_pageFilename->comboFilenameCustom->saveConfig(); m_pageFilename->comboFilenameCustom->saveConfig();
m_pageFilename->comboExtensionCustom->saveConfig(); m_pageFilename->comboExtensionCustom->saveConfig();
m_pageFilename->comboPrefixCustom->saveConfig(); m_pageFilename->comboPrefixCustom->saveConfig();
m_pageFilename->comboSuffixCustom->saveConfig(); m_pageFilename->comboSuffixCustom->saveConfig();
KSharedConfigPtr config = KGlobal::config(); KSharedConfigPtr config = KSharedConfig::openConfig();
KConfigGroup groupGui = config->group( QString("GUISettings") ); KConfigGroup groupGui = config->group(QString("GUISettings"));
groupGui.writeEntry( "Column0", this->previewColumnWidth( 0 ) ); groupGui.writeEntry("Column0", this->previewColumnWidth(0));
groupGui.writeEntry( "Column1", this->previewColumnWidth( 1 ) ); groupGui.writeEntry("Column1", this->previewColumnWidth(1));
} }
void KRenameWindow::setupGui() void KRenameWindow::setupGui()
{ {
m_buttons->clear(); m_buttons->clear();
m_guiMode = &tAdvancedMode; m_guiMode = &tAdvancedMode;
m_buttonFinish = new KPushButton( KIcon( "dialog-ok" ), i18n("&Finish") ) m_buttonFinish = new QPushButton(QIcon::fromTheme(QStringLiteral("dialog-ok"
; )), i18n("&Finish"));
m_buttonClose = new KPushButton( KIcon( "dialog-close" ), i18n("&Close") );
m_buttons->setStandardButtons(QDialogButtonBox::Help | QDialogButtonBox::Clo
se);
m_buttons->addButton(m_buttonFinish, QDialogButtonBox::AcceptRole);
m_buttonClose = m_buttons->button(QDialogButtonBox::Close);
m_buttons->addButton( m_buttonFinish, QDialogButtonBox::AcceptRole ); KHelpMenu *helpMenu = new KHelpMenu(this);
m_buttons->addButton( m_buttonClose, QDialogButtonBox::RejectRole ); m_buttons->button(QDialogButtonBox::Help)->setMenu(helpMenu->menu());
setupSlots(); setupSlots();
slotEnableControls(); slotEnableControls();
} }
void KRenameWindow::setupPlugins() void KRenameWindow::setupPlugins()
{ {
PluginLoader* loader = PluginLoader::Instance(); PluginLoader *loader = PluginLoader::Instance();
const QList<Plugin*> & list = loader->plugins(); const QList<Plugin *> &list = loader->plugins();
QList<Plugin*>::const_iterator it = list.begin(); QList<Plugin *>::const_iterator it = list.begin();
m_pluginsWidgetHash.reserve( list.count() ); m_pluginsWidgetHash.reserve(list.count());
m_pluginsHash.reserve( list.count() ); m_pluginsHash.reserve(list.count());
m_pagePlugins->searchPlugins->searchLine()->setTreeWidget( m_pagePlugins->li stPlugins ); m_pagePlugins->searchPlugins->searchLine()->setTreeWidget(m_pagePlugins->lis tPlugins);
while( it != list.end() ) while (it != list.end()) {
{
// create plugin gui // create plugin gui
QWidget* widget = new QWidget( m_pagePlugins->stackPlugins ); QWidget *widget = new QWidget(m_pagePlugins->stackPlugins);
(*it)->createUI( widget ); (*it)->createUI(widget);
int idx = m_pagePlugins->stackPlugins->addWidget( widget ); int idx = m_pagePlugins->stackPlugins->addWidget(widget);
m_pagePlugins->stackPlugins->setCurrentIndex( idx ); m_pagePlugins->stackPlugins->setCurrentIndex(idx);
m_pluginsHash[(*it)->name()] = (*it); m_pluginsHash[(*it)->name()] = (*it);
m_pluginsWidgetHash[(*it)->name()] = widget; m_pluginsWidgetHash[(*it)->name()] = widget;
// add to list of all plugins // add to list of all plugins
QTreeWidgetItem* item = new QTreeWidgetItem( m_pagePlugins->listPlugins QTreeWidgetItem *item = new QTreeWidgetItem(m_pagePlugins->listPlugins);
); item->setText(0, (*it)->name());
item->setText( 0, (*it)->name() ); item->setIcon(0, (*it)->icon());
item->setIcon( 0, (*it)->icon() );
slotPluginChanged( item ); slotPluginChanged(item);
++it; ++it;
} }
m_pagePlugins->splitter->setStretchFactor( 0, 0 ); m_pagePlugins->splitter->setStretchFactor(0, 0);
m_pagePlugins->splitter->setStretchFactor( 1, 8 ); m_pagePlugins->splitter->setStretchFactor(1, 8);
m_pagePlugins->listPlugins->sortColumn(); m_pagePlugins->listPlugins->sortColumn();
} }
void KRenameWindow::setupIcons() void KRenameWindow::setupIcons()
{ {
QPixmap upIcon = KIconLoader::global()->loadIcon( "arrow-up", KIconLoader::N QPixmap upIcon = KIconLoader::global()->loadIcon("arrow-up", KIconLoader::No
oGroup, KIconLoader::SizeSmall ); Group, KIconLoader::SizeSmall);
QPixmap downIcon = KIconLoader::global()->loadIcon( "arrow-down", KIconLoade QPixmap downIcon = KIconLoader::global()->loadIcon("arrow-down", KIconLoader
r::NoGroup, KIconLoader::SizeSmall ); ::NoGroup, KIconLoader::SizeSmall);
// Page 1 icons // Page 1 icons
QPixmap openIcon = KIconLoader::global()->loadIcon( "document-open", KIconLo QPixmap openIcon = KIconLoader::global()->loadIcon("document-open", KIconLoa
ader::NoGroup, KIconLoader::SizeSmall ); der::NoGroup, KIconLoader::SizeSmall);
QPixmap removeIcon = KIconLoader::global()->loadIcon( "list-remove", KIconLo QPixmap removeIcon = KIconLoader::global()->loadIcon("list-remove", KIconLoa
ader::NoGroup, KIconLoader::SizeSmall ); der::NoGroup, KIconLoader::SizeSmall);
m_pageFiles->buttonAdd->setIcon( openIcon ); m_pageFiles->buttonAdd->setIcon(openIcon);
m_pageFiles->buttonRemove->setIcon( removeIcon ); m_pageFiles->buttonRemove->setIcon(removeIcon);
m_pageFiles->buttonUp->setIcon( upIcon ); m_pageFiles->buttonUp->setIcon(upIcon);
m_pageFiles->buttonDown->setIcon( downIcon ); m_pageFiles->buttonDown->setIcon(downIcon);
// Page 4 icons // Page 4 icons
QPixmap helpIcon = KIconLoader::global()->loadIcon( "help-hint", KIconLoader QPixmap helpIcon = KIconLoader::global()->loadIcon("help-hint", KIconLoader:
::NoGroup, KIconLoader::SizeSmall ); :NoGroup, KIconLoader::SizeSmall);
QPixmap findIcon = KIconLoader::global()->loadIcon( "edit-find", KIconLoader QPixmap findIcon = KIconLoader::global()->loadIcon("edit-find", KIconLoader:
::NoGroup, KIconLoader::SizeSmall ); :NoGroup, KIconLoader::SizeSmall);
m_pageFilename->buttonHelp1->setIcon( helpIcon ); m_pageFilename->buttonHelp1->setIcon(helpIcon);
m_pageFilename->buttonHelp2->setIcon( helpIcon ); m_pageFilename->buttonHelp2->setIcon(helpIcon);
m_pageFilename->buttonHelp3->setIcon( helpIcon ); m_pageFilename->buttonHelp3->setIcon(helpIcon);
m_pageFilename->buttonHelp4->setIcon( helpIcon ); m_pageFilename->buttonHelp4->setIcon(helpIcon);
m_pageFilename->buttonFunctions->setIcon( helpIcon ); m_pageFilename->buttonFunctions->setIcon(helpIcon);
m_pageFilename->buttonFind->setIcon( findIcon ); m_pageFilename->buttonFind->setIcon(findIcon);
m_pageFilename->buttonFindSimple->setIcon( findIcon ); m_pageFilename->buttonFindSimple->setIcon(findIcon);
m_pageFilename->buttonUp->setIcon( upIcon ); m_pageFilename->buttonUp->setIcon(upIcon);
m_pageFilename->buttonDown->setIcon( downIcon ); m_pageFilename->buttonDown->setIcon(downIcon);
} }
void KRenameWindow::setupSlots() void KRenameWindow::setupSlots()
{ {
connect( m_pageFiles->buttonAdd, SIGNAL(clicked(bool)), SIGNAL(addFile connect(m_pageFiles->buttonAdd, &QPushButton::clicked,
s())); this, &KRenameWindow::addFiles);
connect( m_pageFiles->buttonRemove, SIGNAL(clicked(bool)), SIGNAL(removeF connect(m_pageFiles->buttonRemove, &QPushButton::clicked,
iles())); this, &KRenameWindow::removeFiles);
connect( m_pageFiles->buttonRemoveAll, SIGNAL(clicked(bool)), SIGNAL(removeA connect(m_pageFiles->buttonRemoveAll, &QPushButton::clicked,
llFiles())); this, &KRenameWindow::removeAllFiles);
connect( m_pageFiles->checkPreview, SIGNAL(clicked(bool)), SLOT( slotPrev connect(m_pageFiles->checkPreview, &QCheckBox::clicked,
iewChanged())); this, &KRenameWindow::slotPreviewChanged);
connect( m_pageFiles->checkName, SIGNAL(clicked(bool)), SLOT( slotPrev connect(m_pageFiles->checkName, &QCheckBox::clicked,
iewChanged())); this, &KRenameWindow::slotPreviewChanged);
connect( m_pageFiles->comboSort, SIGNAL(currentIndexChanged(int)), SLO connect(m_pageFiles->comboSort, static_cast<void (QComboBox::*)(int)>(&QComb
T( slotSortChanged(int))); oBox::currentIndexChanged),
connect( m_pageFiles->fileList, SIGNAL(doubleClicked(const QModelInde this, &KRenameWindow::slotSortChanged);
x&)), SLOT( slotOpenFile(const QModelIndex&))); connect(m_pageFiles->fileList, &KRenameListView::doubleClicked,
connect( m_pageFiles->buttonUp, SIGNAL(clicked(bool)), SLOT( slotMove this, &KRenameWindow::slotOpenFile);
Up() ) ); connect(m_pageFiles->buttonUp, &QPushButton::clicked,
connect( m_pageFiles->buttonDown, SIGNAL(clicked(bool)), SLOT( slotMove this, &KRenameWindow::slotMoveUp);
Down() ) ); connect(m_pageFiles->buttonDown, &QPushButton::clicked,
this, &KRenameWindow::slotMoveDown);
connect( m_pageDests->optionRename, SIGNAL(clicked(bool)), SLOT(slotRenam
eModeChanged())); connect(m_pageDests->optionRename, &QRadioButton::clicked,
connect( m_pageDests->optionCopy, SIGNAL(clicked(bool)), SLOT(slotRenam this, &KRenameWindow::slotRenameModeChanged);
eModeChanged())); connect(m_pageDests->optionCopy, &QRadioButton::clicked,
connect( m_pageDests->optionMove, SIGNAL(clicked(bool)), SLOT(slotRenam this, &KRenameWindow::slotRenameModeChanged);
eModeChanged())); connect(m_pageDests->optionMove, &QRadioButton::clicked,
connect( m_pageDests->optionLink, SIGNAL(clicked(bool)), SLOT(slotRenam this, &KRenameWindow::slotRenameModeChanged);
eModeChanged())); connect(m_pageDests->optionLink, &QRadioButton::clicked,
connect( m_pageDests->checkOverwrite, SIGNAL(clicked(bool)), SIGNAL(overwri this, &KRenameWindow::slotRenameModeChanged);
teFilesChanged(bool))); connect(m_pageDests->checkOverwrite, &QCheckBox::clicked,
this, &KRenameWindow::overwriteFilesChanged);
connect( m_pagePlugins->listPlugins, SIGNAL(itemClicked(QTreeWidgetItem*,i
nt)), this, SLOT(slotPluginChanged(QTreeWidgetItem*))); connect(m_pagePlugins->listPlugins, &QTreeWidget::currentItemChanged,
connect( m_pagePlugins->checkEnablePlugin, SIGNAL(clicked(bool)), SLOT(slotP this, &KRenameWindow::slotPluginChanged);
luginEnabled())); connect(m_pagePlugins->checkEnablePlugin, &QCheckBox::clicked,
this, &KRenameWindow::slotPluginEnabled);
connect( m_pageFilename->checkExtension, SIGNAL(clicked(bool)) , S
LOT(slotEnableControls())); connect(m_pageFilename->checkExtension, &QCheckBox::clicked,
connect( m_pageFilename->buttonNumbering, SIGNAL(clicked(bool)) , S this, &KRenameWindow::slotEnableControls);
IGNAL(showAdvancedNumberingDialog())); connect(m_pageFilename->buttonNumbering, &QPushButton::clicked,
connect( m_pageFilename->buttonInsert, SIGNAL(clicked(bool)) , S this, &KRenameWindow::showAdvancedNumberingDialog);
IGNAL(showInsertPartFilenameDialog())); connect(m_pageFilename->buttonInsert, &QPushButton::clicked,
connect( m_pageFilename->buttonFind, SIGNAL(clicked(bool)) , S this, &KRenameWindow::showInsertPartFilenameDialog);
IGNAL(showFindReplaceDialog())); connect(m_pageFilename->buttonFind, &QPushButton::clicked,
this, &KRenameWindow::showFindReplaceDialog);
connect( m_pageFilename->filenameTemplate, SIGNAL(delayedTextChanged()), S
LOT(slotTemplateChanged())); connect(m_pageFilename->filenameTemplate, &ExtHistoryCombo::delayedTextChang
connect( m_pageFilename->extensionTemplate, SIGNAL(delayedTextChanged()), S ed,
LOT(slotTemplateChanged())); this, &KRenameWindow::slotTemplateChanged);
connect( m_pageFilename->checkExtension, SIGNAL(clicked(bool)) , S connect(m_pageFilename->extensionTemplate, &ExtHistoryCombo::delayedTextChan
LOT(slotTemplateChanged())); ged,
connect( m_pageFilename->buttonFunctions, SIGNAL(clicked(bool)) , S this, &KRenameWindow::slotTemplateChanged);
LOT(slotTokenHelpRequested())); connect(m_pageFilename->checkExtension, &QCheckBox::clicked,
connect( m_pageFilename->comboExtension, SIGNAL(currentIndexChanged(int) this, &KRenameWindow::slotTemplateChanged);
), SLOT(slotExtensionSplitModeChanged(int))); connect(m_pageFilename->buttonFunctions, &QPushButton::clicked,
this, &KRenameWindow::slotTokenHelpRequested);
connect( m_pageFilename->buttonUp, SIGNAL(clicked(bool)), SLOT( sl connect(m_pageFilename->comboExtension, static_cast<void (QComboBox::*)(int)
otMoveUpPreview() ) ); >(&QComboBox::currentIndexChanged),
connect( m_pageFilename->buttonDown, SIGNAL(clicked(bool)), SLOT( sl this, &KRenameWindow::slotExtensionSplitModeChanged);
otMoveDownPreview() ) );
connect(m_pageFilename->buttonUp, &QPushButton::clicked,
connect( m_pageFilename->listPreview, SIGNAL(addFiles()), SIGNAL(a this, &KRenameWindow::slotMoveUpPreview);
ddFiles())); connect(m_pageFilename->buttonDown, &QPushButton::clicked,
connect( m_pageFilename->listPreview, SIGNAL(updateCount()), SIGNAL(u this, &KRenameWindow::slotMoveDownPreview);
pdateCount()));
connect(m_pageFilename->listPreview, &PreviewList::addFiles,
connect( m_pageFilename->comboFilenameCustom, SIGNAL(delayedTextChanged()), this, &KRenameWindow::addFiles);
SLOT(slotSimpleTemplateChanged())); connect(m_pageFilename->listPreview, &PreviewList::updateCount,
connect( m_pageFilename->comboSuffixCustom, SIGNAL(delayedTextChanged()), this, &KRenameWindow::updateCount);
SLOT(slotSimpleTemplateChanged()));
connect( m_pageFilename->comboPrefixCustom, SIGNAL(delayedTextChanged()), connect(m_pageFilename->comboFilenameCustom, &ExtHistoryCombo::delayedTextCh
SLOT(slotSimpleTemplateChanged())); anged,
connect( m_pageFilename->comboExtensionCustom, SIGNAL(delayedTextChanged()), this, &KRenameWindow::slotSimpleTemplateChanged);
SLOT(slotSimpleTemplateChanged())); connect(m_pageFilename->comboSuffixCustom, &ExtHistoryCombo::delayedTextChan
ged,
connect( m_pageFilename->comboPrefix, SIGNAL(currentIndexChanged(in this, &KRenameWindow::slotSimpleTemplateChanged);
t)), SLOT(slotSimpleTemplateChanged())); connect(m_pageFilename->comboPrefixCustom, &ExtHistoryCombo::delayedTextChan
connect( m_pageFilename->comboSuffix, SIGNAL(currentIndexChanged(in ged,
t)), SLOT(slotSimpleTemplateChanged())); this, &KRenameWindow::slotSimpleTemplateChanged);
connect( m_pageFilename->comboFilenameSimple, SIGNAL(currentIndexChanged(in connect(m_pageFilename->comboExtensionCustom, &ExtHistoryCombo::delayedTextC
t)), SLOT(slotSimpleTemplateChanged())); hanged,
connect( m_pageFilename->comboExtensionSimple, SIGNAL(currentIndexChanged(in this, &KRenameWindow::slotSimpleTemplateChanged);
t)), SLOT(slotSimpleTemplateChanged()));
connect(m_pageFilename->comboPrefix, static_cast<void (QComboBox::*)(int)>(&
connect( m_pageFilename->comboExtensionSimple, SIGNAL(currentIndexChanged(in QComboBox::currentIndexChanged),
t)), SLOT(slotEnableControls())); this, &KRenameWindow::slotSimpleTemplateChanged);
connect( m_pageFilename->comboFilenameSimple, SIGNAL(currentIndexChanged(in connect(m_pageFilename->comboSuffix, static_cast<void (QComboBox::*)(int)>(&
t)), SLOT(slotEnableControls())); QComboBox::currentIndexChanged),
this, &KRenameWindow::slotSimpleTemplateChanged);
connect( m_pageFilename->buttonHelp1, SIGNAL(clicked(bool)), connect(m_pageFilename->comboFilenameSimple, static_cast<void (QComboBox::*)
SLOT(slotTokenHelpRequestedWizard1())); (int)>(&QComboBox::currentIndexChanged),
connect( m_pageFilename->buttonHelp2, SIGNAL(clicked(bool)), this, &KRenameWindow::slotSimpleTemplateChanged);
SLOT(slotTokenHelpRequestedWizard2())); connect(m_pageFilename->comboExtensionSimple, static_cast<void (QComboBox::*
connect( m_pageFilename->buttonHelp3, SIGNAL(clicked(bool)), )(int)>(&QComboBox::currentIndexChanged),
SLOT(slotTokenHelpRequestedWizard3())); this, &KRenameWindow::slotSimpleTemplateChanged);
connect( m_pageFilename->buttonHelp4, SIGNAL(clicked(bool)),
SLOT(slotTokenHelpRequestedWizard4())); connect(m_pageFilename->comboExtensionSimple, static_cast<void (QComboBox::*
connect( m_pageFilename->buttonFindSimple, SIGNAL(clicked(bool)) , )(int)>(&QComboBox::currentIndexChanged),
SIGNAL(showFindReplaceDialog())); this, &KRenameWindow::slotEnableControls);
connect(m_pageFilename->comboFilenameSimple, static_cast<void (QComboBox::*)
connect( m_pageFilename->spinDigits, SIGNAL(valueChanged(int)), (int)>(&QComboBox::currentIndexChanged),
SLOT(slotSimpleTemplateChanged())); this, &KRenameWindow::slotEnableControls);
connect( m_pageFilename->spinIndex, SIGNAL(valueChanged(int)),
SLOT(slotSimpleStartIndexChanged())); connect(m_pageFilename->buttonHelp1, &QPushButton::clicked, this, &KRenameWi
ndow::slotTokenHelpRequestedWizard1);
connect(m_pageFilename->buttonHelp2, &QPushButton::clicked, this, &KRenameWi
ndow::slotTokenHelpRequestedWizard2);
connect(m_pageFilename->buttonHelp3, &QPushButton::clicked, this, &KRenameWi
ndow::slotTokenHelpRequestedWizard3);
connect(m_pageFilename->buttonHelp4, &QPushButton::clicked, this, &KRenameWi
ndow::slotTokenHelpRequestedWizard4);
connect(m_pageFilename->buttonFindSimple, &QPushButton::clicked,
this, &KRenameWindow::showFindReplaceDialog);
connect(m_pageFilename->spinDigits, static_cast<void (QSpinBox::*)(int)>(&QS
pinBox::valueChanged),
this, &KRenameWindow::slotSimpleTemplateChanged);
connect(m_pageFilename->spinIndex, static_cast<void (QSpinBox::*)(int)>(&QSp
inBox::valueChanged),
this, &KRenameWindow::slotSimpleStartIndexChanged);
} }
void KRenameWindow::showPage( int index ) void KRenameWindow::showPage(int index)
{ {
if( index >= 0 && index < m_guiMode->numPages ) if (index >= 0 && index < m_guiMode->numPages) {
{
m_curPage = index; m_curPage = index;
m_stack->setCurrentIndex( m_guiMode->mapIndex[index] ); m_stack->setCurrentIndex(m_guiMode->mapIndex[index]);
slotEnableControls(); slotEnableControls();
} }
} }
void KRenameWindow::slotEnableControls() void KRenameWindow::slotEnableControls()
{ {
// TODO: // TODO:
// Disable all extension widgets // Disable all extension widgets
// if splitMode is NOEXTENSION // if splitMode is NOEXTENSION
if( m_buttonFinish ) if (m_buttonFinish) {
{
bool enable = (m_curPage == m_guiMode->numPages - 1) bool enable = (m_curPage == m_guiMode->numPages - 1)
&& m_fileCount > 0; && m_fileCount > 0;
m_buttonFinish->setEnabled( enable ); m_buttonFinish->setEnabled(enable);
} }
// enable gui controls // enable gui controls
m_pageFiles->buttonRemove->setEnabled( m_fileCount ); m_pageFiles->buttonRemove->setEnabled(m_fileCount);
m_pageFiles->buttonRemoveAll->setEnabled( m_fileCount ); m_pageFiles->buttonRemoveAll->setEnabled(m_fileCount);
m_pageFiles->checkName->setEnabled( m_pageFiles->checkPreview->isChecked() ) m_pageFiles->checkName->setEnabled(m_pageFiles->checkPreview->isChecked());
;
m_pageFiles->buttonUp->setEnabled( m_fileCount ); m_pageFiles->buttonUp->setEnabled(m_fileCount);
m_pageFiles->buttonDown->setEnabled( m_fileCount ); m_pageFiles->buttonDown->setEnabled(m_fileCount);
m_pageDests->urlrequester->setEnabled( !m_pageDests->optionRename->isChecked () ); m_pageDests->urlrequester->setEnabled(!m_pageDests->optionRename->isChecked( ));
m_pageFilename->extensionTemplate->setEnabled( !m_pageFilename->checkExtensi m_pageFilename->extensionTemplate->setEnabled(!m_pageFilename->checkExtensio
on->isChecked() ); n->isChecked());
m_pageFilename->buttonFind->setEnabled( m_fileCount != 0 ); m_pageFilename->buttonFind->setEnabled(m_fileCount != 0);
m_pageFilename->buttonNumbering->setEnabled( m_fileCount != 0 ); m_pageFilename->buttonNumbering->setEnabled(m_fileCount != 0);
m_pageFilename->buttonInsert->setEnabled( m_fileCount != 0 ); m_pageFilename->buttonInsert->setEnabled(m_fileCount != 0);
m_pageFilename->buttonFindSimple->setEnabled( m_fileCount != 0 ); m_pageFilename->buttonFindSimple->setEnabled(m_fileCount != 0);
m_pageFilename->buttonHelp3->setEnabled( m_pageFilename->comboFilenameSimple m_pageFilename->buttonHelp3->setEnabled(m_pageFilename->comboFilenameSimple-
->currentIndex() == >currentIndex() ==
m_pageFilename->comboFilenameSimple m_pageFilename->comboFilenameSimple-
->count() - 1 ); >count() - 1);
m_pageFilename->comboFilenameCustom->setEnabled( m_pageFilename->comboFilena m_pageFilename->comboFilenameCustom->setEnabled(m_pageFilename->comboFilenam
meSimple->currentIndex() == eSimple->currentIndex() ==
m_pageFilename->comboFilena m_pageFilename->comboFilenameSimple->count() - 1);
meSimple->count() - 1 );
m_pageFilename->buttonHelp4->setEnabled( m_pageFilename->comboExtensionSimpl m_pageFilename->buttonHelp4->setEnabled(m_pageFilename->comboExtensionSimple
e->currentIndex() == ->currentIndex() ==
m_pageFilename->comboExt m_pageFilename->comboExtensionSimple
ensionSimple->count() - 1 ); ->count() - 1);
m_pageFilename->comboExtensionCustom->setEnabled( m_pageFilename->comboExten m_pageFilename->comboExtensionCustom->setEnabled(m_pageFilename->comboExtens
sionSimple->currentIndex() == ionSimple->currentIndex() ==
m_pageFilename->comboExten m_pageFilename->comboExtensionSimple->count() - 1);
sionSimple->count() - 1 );
m_pageFilename->buttonUp->setEnabled( m_fileCount ); m_pageFilename->buttonUp->setEnabled(m_fileCount);
m_pageFilename->buttonDown->setEnabled( m_fileCount ); m_pageFilename->buttonDown->setEnabled(m_fileCount);
} }
void KRenameWindow::setCount( unsigned int count ) void KRenameWindow::setCount(unsigned int count)
{ {
m_fileCount = count; m_fileCount = count;
m_pageFiles->labelCount->setText( i18n("<b>Files:<b> %1", m_fileCount ) ); m_pageFiles->labelCount->setText(i18n("<b>Files:</b> %1", m_fileCount));
m_pageFiles->fileList->slotUpdateCount(); m_pageFiles->fileList->slotUpdateCount();
this->slotEnableControls(); this->slotEnableControls();
} }
void KRenameWindow::setFilenameTemplate( const QString & templ, bool insert ) void KRenameWindow::setFilenameTemplate(const QString &templ, bool insert)
{ {
if( insert ) if (insert) {
m_pageFilename->filenameTemplate->lineEdit()->insert( templ ); m_pageFilename->filenameTemplate->lineEdit()->insert(templ);
else } else {
m_pageFilename->filenameTemplate->lineEdit()->setText( templ ); m_pageFilename->filenameTemplate->lineEdit()->setText(templ);
}
} }
void KRenameWindow::setExtensionTemplate( const QString & templ, bool insert ) void KRenameWindow::setExtensionTemplate(const QString &templ, bool insert)
{ {
m_pageFilename->checkExtension->setChecked( true ); m_pageFilename->checkExtension->setChecked(true);
m_pageFilename->comboExtensionSimple->setCurrentIndex( m_pageFilename->comboExtensionSimple->setCurrentIndex(
m_pageFilename->comboExtensionSimple->count() - 1 ); m_pageFilename->comboExtensionSimple->count() - 1);
if( insert ) if (insert) {
m_pageFilename->extensionTemplate->lineEdit()->insert( templ ); m_pageFilename->extensionTemplate->lineEdit()->insert(templ);
else } else {
m_pageFilename->extensionTemplate->lineEdit()->setText( templ ); m_pageFilename->extensionTemplate->lineEdit()->setText(templ);
}
} }
void KRenameWindow::setRenameMode( ERenameMode eMode ) void KRenameWindow::setRenameMode(ERenameMode eMode)
{ {
m_pageDests->optionRename->setChecked( false ); m_pageDests->optionRename->setChecked(false);
m_pageDests->optionCopy->setChecked( false ); m_pageDests->optionCopy->setChecked(false);
m_pageDests->optionMove->setChecked( false ); m_pageDests->optionMove->setChecked(false);
m_pageDests->optionLink->setChecked( false ); m_pageDests->optionLink->setChecked(false);
switch( eMode ) switch (eMode) {
{ case eRenameMode_Rename:
case eRenameMode_Rename: m_pageDests->optionRename->setChecked(true);
m_pageDests->optionRename->setChecked( true ); break;
break; case eRenameMode_Copy:
case eRenameMode_Copy: m_pageDests->optionCopy->setChecked(true);
m_pageDests->optionCopy->setChecked( true ); break;
break; case eRenameMode_Move:
case eRenameMode_Move: m_pageDests->optionMove->setChecked(true);
m_pageDests->optionMove->setChecked( true ); break;
break; case eRenameMode_Link:
case eRenameMode_Link: m_pageDests->optionLink->setChecked(true);
m_pageDests->optionLink->setChecked( true ); break;
break; default:
default: // Default
// Default m_pageDests->optionRename->setChecked(true);
m_pageDests->optionRename->setChecked( true ); break;
break;
} }
this->slotEnableControls(); this->slotEnableControls();
emit renameModeChanged( eMode ); emit renameModeChanged(eMode);
} }
void KRenameWindow::setDestinationUrl( const KUrl & url ) void KRenameWindow::setDestinationUrl(const QUrl &url)
{ {
m_pageDests->urlrequester->setUrl( url ); m_pageDests->urlrequester->setUrl(url);
} }
void KRenameWindow::resetFileList() void KRenameWindow::resetFileList()
{ {
m_pageFiles->fileList->reset(); m_pageFiles->fileList->reset();
} }
void KRenameWindow::setModel( KRenameModel* model ) void KRenameWindow::setModel(KRenameModel *model)
{ {
m_pageFiles->fileList->setModel( model ); m_pageFiles->fileList->setModel(model);
m_pageFilename->listPreview->setKRenameModel( model ); m_pageFilename->listPreview->setKRenameModel(model);
connect( model, SIGNAL( maxDotsChanged(int) ), SLOT( slotMaxDotsChanged(int) connect(model, &KRenameModel::maxDotsChanged,
) ); this, &KRenameWindow::slotMaxDotsChanged);
} }
void KRenameWindow::setPreviewModel( KRenamePreviewModel* model ) void KRenameWindow::setPreviewModel(KRenamePreviewModel *model)
{ {
m_pageFilename->listPreview->setModel( model ); m_pageFilename->listPreview->setModel(model);
} }
const KUrl KRenameWindow::destinationUrl() const const QUrl KRenameWindow::destinationUrl() const
{ {
return m_pageDests->urlrequester->url(); return m_pageDests->urlrequester->url();
} }
QList<int> KRenameWindow::selectedFileItems() const QList<int> KRenameWindow::selectedFileItems() const
{ {
QList<int> selected; QList<int> selected;
QItemSelectionModel* selection = m_pageFiles->fileList->selectionModel(); QItemSelectionModel *selection = m_pageFiles->fileList->selectionModel();
QModelIndexList indeces = selection->selectedIndexes(); QModelIndexList indices = selection->selectedIndexes();
QModelIndexList::const_iterator it = indeces.begin(); QModelIndexList::const_iterator it = indices.constBegin();
while( it != indeces.end() ) while (it != indices.constEnd()) {
{ selected.append((*it).row());
selected.append( (*it).row() );
++it; ++it;
} }
return selected; return selected;
} }
QList<int> KRenameWindow::selectedFileItemsPreview() const QList<int> KRenameWindow::selectedFileItemsPreview() const
{ {
QList<int> selected; QList<int> selected;
QItemSelectionModel* selection = m_pageFilename->listPreview->selectionModel (); QItemSelectionModel *selection = m_pageFilename->listPreview->selectionModel ();
QModelIndexList indeces = selection->selectedIndexes(); QModelIndexList indices = selection->selectedIndexes();
QModelIndexList::const_iterator it = indeces.begin(); QModelIndexList::const_iterator it = indices.constBegin();
while( it != indeces.end() ) while (it != indices.constEnd()) {
{ selected.append((*it).row());
selected.append( (*it).row() );
++it; ++it;
} }
return selected; return selected;
} }
bool KRenameWindow::isPreviewEnabled() const bool KRenameWindow::isPreviewEnabled() const
{ {
return m_pageFiles->checkPreview->isChecked(); return m_pageFiles->checkPreview->isChecked();
} }
void KRenameWindow::setPreviewEnabled( bool bPreview ) void KRenameWindow::setPreviewEnabled(bool bPreview)
{ {
m_pageFiles->checkPreview->setChecked( bPreview ); m_pageFiles->checkPreview->setChecked(bPreview);
slotPreviewChanged(); slotPreviewChanged();
} }
bool KRenameWindow::isPreviewNamesEnabled() const bool KRenameWindow::isPreviewNamesEnabled() const
{ {
return m_pageFiles->checkName->isChecked(); return m_pageFiles->checkName->isChecked();
} }
void KRenameWindow::setPreviewNamesEnabled( bool bPreview ) void KRenameWindow::setPreviewNamesEnabled(bool bPreview)
{ {
m_pageFiles->checkName->setChecked( bPreview ); m_pageFiles->checkName->setChecked(bPreview);
slotPreviewChanged(); slotPreviewChanged();
} }
int KRenameWindow::numberStartIndex() const int KRenameWindow::numberStartIndex() const
{ {
return m_pageFilename->spinIndex->value(); return m_pageFilename->spinIndex->value();
} }
void KRenameWindow::setNumberStartIndex( int index ) void KRenameWindow::setNumberStartIndex(int index)
{ {
m_pageFilename->spinIndex->setValue( index ); m_pageFilename->spinIndex->setValue(index);
} }
int KRenameWindow::sortMode() const int KRenameWindow::sortMode() const
{ {
return m_pageFiles->comboSort->currentIndex(); return m_pageFiles->comboSort->currentIndex();
} }
void KRenameWindow::setSortMode( int sortMode, const QString & customToken, int customSortMode ) void KRenameWindow::setSortMode(int sortMode, const QString &customToken, int cu stomSortMode)
{ {
KRenameModel* model = static_cast<KRenameModel*>(m_pageFiles->fileList->mode KRenameModel *model = static_cast<KRenameModel *>(m_pageFiles->fileList->mod
l()); el());
bool bPrevious = m_pageFiles->comboSort->blockSignals( true ); bool bPrevious = m_pageFiles->comboSort->blockSignals(true);
QString customTokenText; QString customTokenText;
if( sortMode == eSortMode_Token ) if (sortMode == eSortMode_Token) {
{
customTokenText = customToken; customTokenText = customToken;
} }
m_pageFiles->comboSort->setCurrentIndex( sortMode ); m_pageFiles->comboSort->setCurrentIndex(sortMode);
m_pageFiles->labelCustomSort->setText( customTokenText ); m_pageFiles->labelCustomSort->setText(customTokenText);
model->sortFiles( static_cast<ESortMode>(sortMode), model->sortFiles(static_cast<ESortMode>(sortMode),
customToken, customToken,
static_cast<KRenameTokenSorter::ESimpleSortMode>(customSor static_cast<KRenameTokenSorter::ESimpleSortMode>(customSort
tMode) ); Mode));
m_pageFiles->comboSort->blockSignals( bPrevious ); m_pageFiles->comboSort->blockSignals(bPrevious);
} }
int KRenameWindow::previewColumnWidth( int index ) int KRenameWindow::previewColumnWidth(int index)
{ {
return m_pageFilename->listPreview->columnWidth( index ); return m_pageFilename->listPreview->columnWidth(index);
} }
void KRenameWindow::setPreviewColumnWidth( int index, int width ) void KRenameWindow::setPreviewColumnWidth(int index, int width)
{ {
m_pageFilename->listPreview->setColumnWidth( index, width ); m_pageFilename->listPreview->setColumnWidth(index, width);
} }
bool KRenameWindow::isAdvancedMode() const bool KRenameWindow::isAdvancedMode() const
{ {
return (m_pageFilename->tabWidget->currentIndex() == 0); return (m_pageFilename->tabWidget->currentIndex() == 0);
} }
void KRenameWindow::setAdvancedMode( bool bAdvanced ) void KRenameWindow::setAdvancedMode(bool bAdvanced)
{ {
m_pageFilename->tabWidget->setCurrentIndex( bAdvanced ? 0 : 1 ); m_pageFilename->tabWidget->setCurrentIndex(bAdvanced ? 0 : 1);
} }
void KRenameWindow::showFilenameTab() void KRenameWindow::showFilenameTab()
{ {
m_tabBar->setCurrentIndex( MAX_PAGES - 1 ); m_tabBar->setCurrentIndex(MAX_PAGES - 1);
if(this->isAdvancedMode()) { if (this->isAdvancedMode()) {
m_pageFilename->filenameTemplate->setFocus(); m_pageFilename->filenameTemplate->setFocus();
m_pageFilename->filenameTemplate->selectAll(); m_pageFilename->filenameTemplate->selectAll();
} else { } else {
m_pageFilename->comboPrefixCustom->setFocus(); m_pageFilename->comboPrefixCustom->setFocus();
m_pageFilename->comboPrefixCustom->selectAll(); m_pageFilename->comboPrefixCustom->selectAll();
} }
} }
void KRenameWindow::setPrefixSuffixSimple( QComboBox* combo, QComboBox* comboCus tom, const QString & templ ) void KRenameWindow::setPrefixSuffixSimple(QComboBox *combo, QComboBox *comboCust om, const QString &templ)
{ {
if( templ.isEmpty() ) if (templ.isEmpty()) {
{ comboCustom->lineEdit()->setText(templ);
comboCustom->lineEdit()->setText( templ ); combo->setCurrentIndex(0);
combo->setCurrentIndex( 0 ); } else {
} QString number('#');
else int c = m_pageFilename->spinDigits->value() - 1;
{
QString number = "#";
int c = m_pageFilename->spinDigits->value()-1;
while( c-- > 0 ) while (c-- > 0) {
number += "#"; number += '#';
}
number += QString("{%1}").arg( m_pageFilename->spinIndex->value() ); number += QString("{%1}").arg(m_pageFilename->spinIndex->value());
if( templ.startsWith( number ) ) if (templ.startsWith(number)) {
{ QString value = templ.right(templ.length() - number.length());
QString value = templ.right( templ.length() - number.length() ); combo->setCurrentIndex(1);
combo->setCurrentIndex( 1 ); comboCustom->lineEdit()->setText(value);
comboCustom->lineEdit()->setText( value ); } else if (templ.startsWith(QLatin1String("[date]"))) {
} QString value = templ.right(templ.length() - 6);
else if( templ.startsWith( "[date]" ) ) combo->setCurrentIndex(2);
{ comboCustom->lineEdit()->setText(value);
QString value = templ.right( templ.length() - 6 ); } else {
combo->setCurrentIndex( 2 ); combo->setCurrentIndex(0);
comboCustom->lineEdit()->setText( value ); comboCustom->lineEdit()->setText(templ);
}
else
{
combo->setCurrentIndex( 0 );
comboCustom->lineEdit()->setText( templ );
} }
} }
} }
QString KRenameWindow::getPrefixSuffixSimple( QComboBox* combo, QComboBox* combo Custom ) QString KRenameWindow::getPrefixSuffixSimple(QComboBox *combo, QComboBox *comboC ustom)
{ {
QString str; QString str;
QString number = "#"; QString number('#');
int c = m_pageFilename->spinDigits->value()-1; int c = m_pageFilename->spinDigits->value() - 1;
while( c-- > 0 ) while (c-- > 0) {
number += "#"; number += '#';
}
number += QString("{%1}").arg( m_pageFilename->spinIndex->value() ); number += QString("{%1}").arg(m_pageFilename->spinIndex->value());
if( combo->currentIndex() == 1 ) if (combo->currentIndex() == 1) {
str = number; str = number;
else if( combo->currentIndex() == 2 ) } else if (combo->currentIndex() == 2) {
str = "[date]"; // TODO date str = "[date]"; // TODO date
}
str += comboCustom->currentText(); str += comboCustom->currentText();
return str; return str;
} }
QString KRenameWindow::getFilenameSimple( QComboBox* combo, QComboBox* comboCust om ) QString KRenameWindow::getFilenameSimple(QComboBox *combo, QComboBox *comboCusto m)
{ {
QString str; QString str;
// TODO: Replace strings with constants // TODO: Replace strings with constants
switch( combo->currentIndex() ) switch (combo->currentIndex()) {
{ default:
default: case 0:
case 0: str = '$'; break;
str = "$"; break; case 1:
case 1: str = '%'; break;
str = "%"; break; case 2:
case 2: str = '&'; break;
str = "&"; break; case 3:
case 3: str = '*'; break;
str = "*"; break; case 4:
case 4: str = comboCustom->currentText();
str = comboCustom->currentText();
} }
return str; return str;
} }
void KRenameWindow::slotBack() void KRenameWindow::slotBack()
{ {
this->showPage( m_curPage-1 ); this->showPage(m_curPage - 1);
} }
void KRenameWindow::slotNext() void KRenameWindow::slotNext()
{ {
this->showPage( m_curPage+1 ); this->showPage(m_curPage + 1);
} }
void KRenameWindow::slotFinish() void KRenameWindow::slotFinish()
{ {
emit accepted(); emit accepted();
} }
void KRenameWindow::slotRenameModeChanged() void KRenameWindow::slotRenameModeChanged()
{ {
ERenameMode mode = eRenameMode_Rename; ERenameMode mode = eRenameMode_Rename;
if( m_pageDests->optionRename->isChecked() ) if (m_pageDests->optionRename->isChecked()) {
mode = eRenameMode_Rename; mode = eRenameMode_Rename;
else if( m_pageDests->optionCopy->isChecked() ) } else if (m_pageDests->optionCopy->isChecked()) {
mode = eRenameMode_Copy; mode = eRenameMode_Copy;
else if( m_pageDests->optionMove->isChecked() ) } else if (m_pageDests->optionMove->isChecked()) {
mode = eRenameMode_Move; mode = eRenameMode_Move;
else if( m_pageDests->optionLink->isChecked() ) } else if (m_pageDests->optionLink->isChecked()) {
mode = eRenameMode_Link; mode = eRenameMode_Link;
}
emit renameModeChanged( mode ); emit renameModeChanged(mode);
this->slotEnableControls(); this->slotEnableControls();
} }
void KRenameWindow::slotGotoTemplatesPage() void KRenameWindow::slotGotoTemplatesPage()
{ {
m_tabBar->setCurrentIndex(3); m_tabBar->setCurrentIndex(3);
} }
void KRenameWindow::slotSimpleStartIndexChanged() void KRenameWindow::slotSimpleStartIndexChanged()
{ {
emit startIndexChanged( m_pageFilename->spinIndex->value() ); emit startIndexChanged(m_pageFilename->spinIndex->value());
slotSimpleTemplateChanged(); slotSimpleTemplateChanged();
} }
void KRenameWindow::slotTemplateChanged() void KRenameWindow::slotTemplateChanged()
{ {
QString filename; QString filename;
QString extension; QString extension;
filename = m_pageFilename->filenameTemplate->currentText(); filename = m_pageFilename->filenameTemplate->currentText();
extension = m_pageFilename->checkExtension->isChecked() ? "$" : extension = m_pageFilename->checkExtension->isChecked() ? "$" :
m_pageFilename->extensionTemplate->currentText(); m_pageFilename->extensionTemplate->currentText();
// set the new templates also for simple mode // set the new templates also for simple mode
blockSignalsRecursive( this, true ); blockSignalsRecursive(this, true);
this->setSimpleTemplate( filename, extension ); this->setSimpleTemplate(filename, extension);
blockSignalsRecursive( this, false ); blockSignalsRecursive(this, false);
this->templatesChanged( filename, extension ); this->templatesChanged(filename, extension);
} }
void KRenameWindow::slotSimpleTemplateChanged() void KRenameWindow::slotSimpleTemplateChanged()
{ {
QString filename = getFilenameSimple( m_pageFilename->comboFilenameSimple, QString filename = getFilenameSimple(m_pageFilename->comboFilenameSimple, m
m_pageFilename->comboFilenameCustom ); _pageFilename->comboFilenameCustom);
QString extension = getFilenameSimple( m_pageFilename->comboExtensionSimple, QString extension = getFilenameSimple(m_pageFilename->comboExtensionSimple,
m_pageFilename->comboExtensionCustom ); m_pageFilename->comboExtensionCustom);
QString prefix = getPrefixSuffixSimple( m_pageFilename->comboPrefix, m_pa QString prefix = getPrefixSuffixSimple(m_pageFilename->comboPrefix, m_pag
geFilename->comboPrefixCustom ); eFilename->comboPrefixCustom);
QString suffix = getPrefixSuffixSimple( m_pageFilename->comboSuffix, m_pa QString suffix = getPrefixSuffixSimple(m_pageFilename->comboSuffix, m_pag
geFilename->comboSuffixCustom ); eFilename->comboSuffixCustom);
filename = prefix + filename + suffix; filename = prefix + filename + suffix;
// set the new templates, but make sure signals // set the new templates, but make sure signals
// are blockes so that slotTemplateChanged emits updatePreview() // are blockes so that slotTemplateChanged emits updatePreview()
// which is calculation intensive only once! // which is calculation intensive only once!
blockSignalsRecursive( this, true ); blockSignalsRecursive(this, true);
m_pageFilename->filenameTemplate->lineEdit()->setText( filename ); m_pageFilename->filenameTemplate->lineEdit()->setText(filename);
m_pageFilename->extensionTemplate->lineEdit()->setText( extension ); m_pageFilename->extensionTemplate->lineEdit()->setText(extension);
m_pageFilename->checkExtension->setChecked( false ); m_pageFilename->checkExtension->setChecked(false);
blockSignalsRecursive( this, false ); blockSignalsRecursive(this, false);
this->templatesChanged( filename, extension ); this->templatesChanged(filename, extension);
} }
void KRenameWindow::templatesChanged( const QString & filename, const QString & extension ) void KRenameWindow::templatesChanged(const QString &filename, const QString &ext ension)
{ {
emit filenameTemplateChanged( filename ); emit filenameTemplateChanged(filename);
emit extensionTemplateChanged( extension ); emit extensionTemplateChanged(extension);
emit updatePreview(); emit updatePreview();
m_pageFilename->buttonNumbering->setEnabled( filename.contains('#') || exten sion.contains('#') ); m_pageFilename->buttonNumbering->setEnabled(filename.contains('#') || extens ion.contains('#'));
this->slotEnableControls(); this->slotEnableControls();
} }
void KRenameWindow::setSimpleTemplate( const QString & filename, const QString & extension ) void KRenameWindow::setSimpleTemplate(const QString &filename, const QString &ex tension)
{ {
// First set the simple extension from a template string // First set the simple extension from a template string
if( extension == "$" ) if (extension == "$") {
m_pageFilename->comboExtensionSimple->setCurrentIndex( 0 ); m_pageFilename->comboExtensionSimple->setCurrentIndex(0);
else if( extension == "%" ) } else if (extension == "%") {
m_pageFilename->comboExtensionSimple->setCurrentIndex( 1 ); m_pageFilename->comboExtensionSimple->setCurrentIndex(1);
else if( extension == "&" ) } else if (extension == "&") {
m_pageFilename->comboExtensionSimple->setCurrentIndex( 2 ); m_pageFilename->comboExtensionSimple->setCurrentIndex(2);
else if( extension == "*" ) } else if (extension == "*") {
m_pageFilename->comboExtensionSimple->setCurrentIndex( 3 ); m_pageFilename->comboExtensionSimple->setCurrentIndex(3);
else } else {
{ m_pageFilename->comboExtensionSimple->setCurrentIndex(4);
m_pageFilename->comboExtensionSimple->setCurrentIndex( 4 ); m_pageFilename->comboExtensionCustom->lineEdit()->setText(extension);
m_pageFilename->comboExtensionCustom->lineEdit()->setText( extension );
} }
// Now split the filename in prefix and suffix and set it as template // Now split the filename in prefix and suffix and set it as template
// TODO: Make sure we do not find something like [*5-] or \$ // TODO: Make sure we do not find something like [*5-] or \$
int index = 4; int index = 4;
int pos = filename.indexOf( "$" ); int pos = filename.indexOf("$");
if( pos == -1 ) if (pos == -1) {
{ pos = filename.indexOf("%");
pos = filename.indexOf( "%" ); if (pos == -1) {
if( pos == -1 ) pos = filename.indexOf("&");
{ if (pos == -1) {
pos = filename.indexOf( "&" ); pos = filename.indexOf("*");
if( pos == -1 ) if (pos != -1) {
{
pos = filename.indexOf( "*" );
if( pos != -1 )
index = 3; index = 3;
} }
else } else {
index = 2; index = 2;
} }
else } else {
index = 1; index = 1;
} }
else } else {
index = 0; index = 0;
}
m_pageFilename->comboFilenameSimple->setCurrentIndex( index ); m_pageFilename->comboFilenameSimple->setCurrentIndex(index);
if( pos == -1 ) if (pos == -1) {
{
// No token found, so we have no prefix or suffix but // No token found, so we have no prefix or suffix but
// a custom name. // a custom name.
m_pageFilename->comboPrefixCustom->lineEdit()->setText( QString::null ); m_pageFilename->comboPrefixCustom->lineEdit()->setText(QString());
m_pageFilename->comboPrefix->setCurrentIndex( 0 ); m_pageFilename->comboPrefix->setCurrentIndex(0);
m_pageFilename->comboSuffixCustom->lineEdit()->setText( QString::null ); m_pageFilename->comboSuffixCustom->lineEdit()->setText(QString());
m_pageFilename->comboSuffix->setCurrentIndex( 0 ); m_pageFilename->comboSuffix->setCurrentIndex(0);
m_pageFilename->comboFilenameCustom->lineEdit()->setText( filename ); m_pageFilename->comboFilenameCustom->lineEdit()->setText(filename);
} } else {
else QString prefix = (pos > 0 ? filename.left(pos) : QString());
{ QString suffix = (pos < filename.length() ? filename.right(filename.leng
QString prefix = ( pos > 0 ? filename.left( pos ) : QString::null); th() - pos - 1) : QString());
QString suffix = ( pos < filename.length() ? filename.right( filename.le
ngth() - pos - 1 ) : QString::null);
setPrefixSuffixSimple( m_pageFilename->comboPrefix, m_pageFilename->comb setPrefixSuffixSimple(m_pageFilename->comboPrefix, m_pageFilename->combo
oPrefixCustom, prefix ); PrefixCustom, prefix);
setPrefixSuffixSimple( m_pageFilename->comboSuffix, m_pageFilename->comb setPrefixSuffixSimple(m_pageFilename->comboSuffix, m_pageFilename->combo
oSuffixCustom, suffix ); SuffixCustom, suffix);
} }
} }
void KRenameWindow::slotTokenHelpRequested() void KRenameWindow::slotTokenHelpRequested()
{ {
emit showTokenHelpDialog( m_pageFilename->filenameTemplate->lineEdit() ); emit showTokenHelpDialog(m_pageFilename->filenameTemplate->lineEdit());
} }
void KRenameWindow::slotTokenHelpRequestedWizard1() void KRenameWindow::slotTokenHelpRequestedWizard1()
{ {
emit showTokenHelpDialog( m_pageFilename->comboPrefixCustom->lineEdit() ); emit showTokenHelpDialog(m_pageFilename->comboPrefixCustom->lineEdit());
} }
void KRenameWindow::slotTokenHelpRequestedWizard2() void KRenameWindow::slotTokenHelpRequestedWizard2()
{ {
emit showTokenHelpDialog( m_pageFilename->comboSuffixCustom->lineEdit() ); emit showTokenHelpDialog(m_pageFilename->comboSuffixCustom->lineEdit());
} }
void KRenameWindow::slotTokenHelpRequestedWizard3() void KRenameWindow::slotTokenHelpRequestedWizard3()
{ {
emit showTokenHelpDialog( m_pageFilename->comboFilenameCustom->lineEdit() ); emit showTokenHelpDialog(m_pageFilename->comboFilenameCustom->lineEdit());
} }
void KRenameWindow::slotTokenHelpRequestedWizard4() void KRenameWindow::slotTokenHelpRequestedWizard4()
{ {
emit showTokenHelpDialog( m_pageFilename->comboExtensionCustom->lineEdit() ) ; emit showTokenHelpDialog(m_pageFilename->comboExtensionCustom->lineEdit());
} }
void KRenameWindow::setExtensionSplitMode( ESplitMode splitMode, int dot ) void KRenameWindow::setExtensionSplitMode(ESplitMode splitMode, int dot)
{ {
int index; int index;
switch( splitMode ) switch (splitMode) {
{ default:
default: case eSplitMode_FirstDot:
case eSplitMode_FirstDot: index = 0;
index = 0; break;
break; case eSplitMode_LastDot:
case eSplitMode_LastDot: index = 1;
index = 1; break;
break; case eSplitMode_NoExtension:
case eSplitMode_NoExtension: index = 2;
index = 2; break;
break; case eSplitMode_CustomDot:
case eSplitMode_CustomDot: index = dot + 1;
index = dot + 1; break;
break;
} }
m_pageFilename->comboExtension->setCurrentIndex( index ); m_pageFilename->comboExtension->setCurrentIndex(index);
} }
void KRenameWindow::slotExtensionSplitModeChanged( int index ) void KRenameWindow::slotExtensionSplitModeChanged(int index)
{ {
ESplitMode splitMode; ESplitMode splitMode;
switch( index ) switch (index) {
{ case 0:
case 0: splitMode = eSplitMode_FirstDot;
splitMode = eSplitMode_FirstDot; break;
break; case 1:
case 1: splitMode = eSplitMode_LastDot;
splitMode = eSplitMode_LastDot; break;
break; case 2:
case 2: splitMode = eSplitMode_NoExtension;
splitMode = eSplitMode_NoExtension; break;
break; default:
default: splitMode = eSplitMode_CustomDot;
splitMode = eSplitMode_CustomDot; break;
break;
} }
emit extensionSplitModeChanged( splitMode, index-1 ); emit extensionSplitModeChanged(splitMode, index - 1);
} }
void KRenameWindow::slotPreviewChanged() void KRenameWindow::slotPreviewChanged()
{ {
KRenameModel* model = static_cast<KRenameModel*>(m_pageFiles->fileList->mode l()); KRenameModel *model = static_cast<KRenameModel *>(m_pageFiles->fileList->mod el());
if( m_pageFiles->checkPreview->isChecked() && !m_pageFiles->checkName->isChe if (m_pageFiles->checkPreview->isChecked() && !m_pageFiles->checkName->isChe
cked() ) cked()) {
m_pageFiles->fileList->setViewMode( QListView::IconMode ); m_pageFiles->fileList->setViewMode(QListView::IconMode);
else } else {
m_pageFiles->fileList->setViewMode( QListView::ListMode ); m_pageFiles->fileList->setViewMode(QListView::ListMode);
}
model->setEnablePreview( m_pageFiles->checkPreview->isChecked(), m_pageFiles model->setEnablePreview(m_pageFiles->checkPreview->isChecked(), m_pageFiles-
->checkName->isChecked() ); >checkName->isChecked());
emit filePreviewChanged( m_pageFiles->checkPreview->isChecked(), m_pageFiles emit filePreviewChanged(m_pageFiles->checkPreview->isChecked(), m_pageFiles-
->checkName->isChecked() ); >checkName->isChecked());
m_pageFiles->fileList->setAcceptDrops( true ); m_pageFiles->fileList->setAcceptDrops(true);
m_pageFiles->fileList->repaint(); m_pageFiles->fileList->repaint();
this->slotEnableControls(); this->slotEnableControls();
} }
void KRenameWindow::slotSortChanged( int index ) void KRenameWindow::slotSortChanged(int index)
{ {
ESortMode eMode; ESortMode eMode;
KRenameModel* model = static_cast<KRenameModel*>(m_pageFiles->fileList->mode l()); KRenameModel *model = static_cast<KRenameModel *>(m_pageFiles->fileList->mod el());
KRenameTokenSorter::ESimpleSortMode eCustomSortMode = model->getSortModeCust omMode(); KRenameTokenSorter::ESimpleSortMode eCustomSortMode = model->getSortModeCust omMode();
QString customToken = QString::null; QString customToken;
switch( index ) switch (index) {
{ default:
default: case 0:
case 0: eMode = eSortMode_Unsorted; break;
eMode = eSortMode_Unsorted; break; case 1:
case 1: eMode = eSortMode_Ascending; break;
eMode = eSortMode_Ascending; break; case 2:
case 2: eMode = eSortMode_Descending; break;
eMode = eSortMode_Descending; break; case 3:
case 3: eMode = eSortMode_Numeric; break;
eMode = eSortMode_Numeric; break; case 4:
case 4: eMode = eSortMode_Random; break;
eMode = eSortMode_Random; break; case 5:
case 5: eMode = eSortMode_AscendingDate; break;
eMode = eSortMode_AscendingDate; break; case 6:
case 6: eMode = eSortMode_DescendingDate; break;
eMode = eSortMode_DescendingDate; break; case 7: {
case 7: eMode = eSortMode_Token;
{ QPointer<TokenSortModeDialog> dlg = new TokenSortModeDialog(eCustomSortM
eMode = eSortMode_Token; ode, this);
TokenSortModeDialog dlg( eCustomSortMode, this ); if (dlg->exec() == QDialog::Accepted) {
if( dlg.exec() == QDialog::Accepted ) customToken = dlg->getToken();
{ eCustomSortMode = dlg->getSortMode();
customToken = dlg.getToken(); } else {
eCustomSortMode = dlg.getSortMode(); eMode = model->getSortMode();
} // Do not change anything
else // Reset combo box
{ m_pageFiles->comboSort->setCurrentIndex(eMode);
eMode = model->getSortMode(); return;
// Do not change anything
// Reset combo box
m_pageFiles->comboSort->setCurrentIndex( eMode );
return;
}
break;
} }
delete dlg;
break;
}
} }
m_pageFiles->labelCustomSort->setText( customToken ); m_pageFiles->labelCustomSort->setText(customToken);
model->sortFiles( eMode, customToken, eCustomSortMode ); model->sortFiles(eMode, customToken, eCustomSortMode);
} }
void KRenameWindow::slotMaxDotsChanged( int dots ) void KRenameWindow::slotMaxDotsChanged(int dots)
{ {
int i; int i;
const int FILE_EXTENSION_VARIABLE_ITEMS_START = 3; const int FILE_EXTENSION_VARIABLE_ITEMS_START = 3;
for( i=FILE_EXTENSION_VARIABLE_ITEMS_START; for (i = FILE_EXTENSION_VARIABLE_ITEMS_START;
i<m_pageFilename->comboExtension->count(); i < m_pageFilename->comboExtension->count();
i++ ) i++) {
m_pageFilename->comboExtension->removeItem( i ); m_pageFilename->comboExtension->removeItem(i);
}
for( i=1;i<=dots;i++ )
m_pageFilename->comboExtension->addItem( QString::number( i ) );
for (i = 1; i <= dots; ++i) {
m_pageFilename->comboExtension->addItem(QString::number(i));
}
} }
void KRenameWindow::slotOpenFile(const QModelIndex& index) void KRenameWindow::slotOpenFile(const QModelIndex &index)
{ {
KRenameModel* model = static_cast<KRenameModel*>(m_pageFiles->fileList->mode KRenameModel *model = static_cast<KRenameModel *>(m_pageFiles->fileList->mod
l()); el());
model->run( index, this ); model->run(index, this);
} }
void KRenameWindow::slotMoveUp() void KRenameWindow::slotMoveUp()
{ {
QList<int> sel = this->selectedFileItems(); QList<int> sel = this->selectedFileItems();
KRenameModel* model = static_cast<KRenameModel*>(m_pageFiles->fileList->mode KRenameModel *model = static_cast<KRenameModel *>(m_pageFiles->fileList->mod
l()); el());
model->moveFilesUp( sel ); model->moveFilesUp(sel);
QItemSelectionModel* selection = m_pageFiles->fileList->selectionModel(); QItemSelectionModel *selection = m_pageFiles->fileList->selectionModel();
QList<int>::const_iterator it = sel.begin(); QList<int>::const_iterator it = sel.constBegin();
while( it != sel.end() ) while (it != sel.constEnd()) {
{ if (*it - 1 > 0) {
if( *it - 1 > 0 ) selection->select(model->createIndex(*it - 1), QItemSelectionModel::
selection->select( model->createIndex( *it - 1 ), QItemSelectionMode Select);
l::Select ); }
++it; ++it;
} }
// make sure that the first item is visible // make sure that the first item is visible
// TODO: Maybe it is better to calculate the minimum index here // TODO: Maybe it is better to calculate the minimum index here
if( sel.size() ) if (sel.size()) {
m_pageFiles->fileList->scrollTo( model->createIndex( sel.front() - 1 ), m_pageFiles->fileList->scrollTo(model->createIndex(sel.front() - 1), QAb
QAbstractItemView::EnsureVisible ); stractItemView::EnsureVisible);
}
} }
void KRenameWindow::slotMoveDown() void KRenameWindow::slotMoveDown()
{ {
QList<int> sel = this->selectedFileItems(); QList<int> sel = this->selectedFileItems();
KRenameModel* model = static_cast<KRenameModel*>(m_pageFiles->fileList->mode KRenameModel *model = static_cast<KRenameModel *>(m_pageFiles->fileList->mod
l()); el());
model->moveFilesDown( sel ); model->moveFilesDown(sel);
QItemSelectionModel* selection = m_pageFiles->fileList->selectionModel(); QItemSelectionModel *selection = m_pageFiles->fileList->selectionModel();
QList<int>::const_iterator it = sel.begin(); QList<int>::const_iterator it = sel.constBegin();
while( it != sel.end() ) while (it != sel.constEnd()) {
{ if (*it + 1 < model->rowCount()) {
if( *it + 1 < model->rowCount() ) selection->select(model->createIndex(*it + 1), QItemSelectionModel::
selection->select( model->createIndex( *it + 1 ), QItemSelectionMode Select);
l::Select ); }
++it; ++it;
} }
// make sure that the last item is visible // make sure that the last item is visible
// TODO: Maybe it is better to calculate the maximum index here // TODO: Maybe it is better to calculate the maximum index here
if( sel.size() ) if (sel.size()) {
m_pageFiles->fileList->scrollTo( model->createIndex( sel.back() + 1 ), Q m_pageFiles->fileList->scrollTo(model->createIndex(sel.back() + 1), QAbs
AbstractItemView::EnsureVisible ); tractItemView::EnsureVisible);
}
} }
void KRenameWindow::slotMoveUpPreview() void KRenameWindow::slotMoveUpPreview()
{ {
QList<int> sel = this->selectedFileItemsPreview(); QList<int> sel = this->selectedFileItemsPreview();
QAbstractItemView* view = m_pageFilename->listPreview; QAbstractItemView *view = m_pageFilename->listPreview;
moveUp( sel, view ); moveUp(sel, view);
} }
void KRenameWindow::slotMoveDownPreview() void KRenameWindow::slotMoveDownPreview()
{ {
QList<int> sel = this->selectedFileItemsPreview(); QList<int> sel = this->selectedFileItemsPreview();
QAbstractItemView* view = m_pageFilename->listPreview; QAbstractItemView *view = m_pageFilename->listPreview;
moveDown( sel, view ); moveDown(sel, view);
} }
void KRenameWindow::moveUp( const QList<int> & selected, QAbstractItemView* view ) void KRenameWindow::moveUp(const QList<int> &selected, QAbstractItemView *view)
{ {
KRenameModel* model = static_cast<KRenameModel*>(m_pageFiles->fileList->mode KRenameModel *model = static_cast<KRenameModel *>(m_pageFiles->fileList->mod
l()); el());
model->moveFilesUp( selected ); model->moveFilesUp(selected);
updatePreview(); updatePreview();
QItemSelectionModel* selection = view->selectionModel(); QItemSelectionModel *selection = view->selectionModel();
QList<int>::const_iterator it = selected.begin(); QList<int>::const_iterator it = selected.begin();
while( it != selected.end() ) while (it != selected.end()) {
{ if (*it - 1 > 0) {
if( *it - 1 > 0 ) selection->select(model->createIndex(*it - 1), QItemSelectionModel::
selection->select( model->createIndex( *it - 1 ), QItemSelectionMode Select);
l::Select ); }
++it; ++it;
} }
// make sure that the first item is visible // make sure that the first item is visible
// TODO: Maybe it is better to calculate the minimum index here // TODO: Maybe it is better to calculate the minimum index here
if( selected.size() ) if (selected.size()) {
view->scrollTo( model->createIndex( selected.front() - 1 ), QAbstractIte view->scrollTo(model->createIndex(selected.front() - 1), QAbstractItemVi
mView::EnsureVisible ); ew::EnsureVisible);
}
} }
void KRenameWindow::moveDown( const QList<int> & selected, QAbstractItemView* vi ew ) void KRenameWindow::moveDown(const QList<int> &selected, QAbstractItemView *view )
{ {
KRenameModel* model = static_cast<KRenameModel*>(m_pageFiles->fileList->mode KRenameModel *model = static_cast<KRenameModel *>(m_pageFiles->fileList->mod
l()); el());
model->moveFilesDown( selected ); model->moveFilesDown(selected);
updatePreview(); updatePreview();
QItemSelectionModel* selection = view->selectionModel(); QItemSelectionModel *selection = view->selectionModel();
QList<int>::const_iterator it = selected.begin(); QList<int>::const_iterator it = selected.begin();
while( it != selected.end() ) while (it != selected.end()) {
{ if (*it + 1 < model->rowCount()) {
if( *it + 1 < model->rowCount() ) selection->select(model->createIndex(*it + 1), QItemSelectionModel::
selection->select( model->createIndex( *it + 1 ), QItemSelectionMode Select);
l::Select ); }
++it; ++it;
} }
// make sure that the last item is visible // make sure that the last item is visible
// TODO: Maybe it is better to calculate the maximum index here // TODO: Maybe it is better to calculate the maximum index here
if( selected.size() ) if (selected.size()) {
view->scrollTo( model->createIndex( selected.back() + 1 ), QAbstractItem view->scrollTo(model->createIndex(selected.back() + 1), QAbstractItemVie
View::EnsureVisible ); w::EnsureVisible);
}
} }
void KRenameWindow::slotPluginChanged(QTreeWidgetItem* selected) void KRenameWindow::slotPluginChanged(QTreeWidgetItem *selected)
{ {
QWidget* w = m_pluginsWidgetHash[selected->text(0)]; QWidget *w = m_pluginsWidgetHash[selected->text(0)];
Plugin* p = m_pluginsHash[selected->text(0)]; Plugin *p = m_pluginsHash[selected->text(0)];
if( p->alwaysEnabled() ) if (p->alwaysEnabled()) {
m_pagePlugins->checkEnablePlugin->setChecked( true ); m_pagePlugins->checkEnablePlugin->setChecked(true);
else } else {
m_pagePlugins->checkEnablePlugin->setChecked( p->isEnabled() ); m_pagePlugins->checkEnablePlugin->setChecked(p->isEnabled());
}
m_pagePlugins->checkEnablePlugin->setEnabled( !p->alwaysEnabled() ); m_pagePlugins->checkEnablePlugin->setEnabled(!p->alwaysEnabled());
m_pagePlugins->stackPlugins->setCurrentWidget( w ); m_pagePlugins->stackPlugins->setCurrentWidget(w);
slotPluginEnabled(); slotPluginEnabled();
} }
void KRenameWindow::slotPluginEnabled() void KRenameWindow::slotPluginEnabled()
{ {
QTreeWidgetItem* selected = m_pagePlugins->listPlugins->currentItem(); QTreeWidgetItem *selected = m_pagePlugins->listPlugins->currentItem();
if( selected ) if (selected) {
{ QWidget *w = m_pluginsWidgetHash[selected->text(0)];
QWidget* w = m_pluginsWidgetHash[selected->text(0)]; Plugin *p = m_pluginsHash[selected->text(0)];
Plugin* p = m_pluginsHash[selected->text(0)];
p->setEnabled( m_pagePlugins->checkEnablePlugin->isChecked() ); p->setEnabled(m_pagePlugins->checkEnablePlugin->isChecked());
w->setEnabled( p->alwaysEnabled() || m_pagePlugins->checkEnablePlugin->i w->setEnabled(p->alwaysEnabled() || m_pagePlugins->checkEnablePlugin->is
sChecked() ); Checked());
} }
} }
void KRenameWindow::blockSignalsRecursive( QObject* obj, bool b ) void KRenameWindow::blockSignalsRecursive(QObject *obj, bool b)
{ {
if( obj ) if (obj) {
{
obj->blockSignals(b); obj->blockSignals(b);
QList<QObject*> list = obj->children(); QList<QObject *> list = obj->children();
QList<QObject*>::iterator it = list.begin(); QList<QObject *>::iterator it = list.begin();
QObject* o = NULL; QObject *o = nullptr;
while( it != list.end() ) while (it != list.end()) {
{
o = *it; o = *it;
if( o && o != obj) if (o && o != obj) {
blockSignalsRecursive(o, b); blockSignalsRecursive(o, b);
}
++it; ++it;
} }
} }
} }
#include "krenamewindow.moc"
 End of changes. 196 change blocks. 
666 lines changed or deleted 668 lines changed or added

Home  |  About  |  Features  |  All  |  Newest  |  Dox  |  Diffs  |  RSS Feeds  |  Screenshots  |  Comments  |  Imprint  |  Privacy  |  HTTP(S)