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 |