cmake_minimum_required(VERSION 3.0)
# KDE Application Version, managed by release script
-set (KDE_APPLICATIONS_VERSION_MAJOR "17")
-set (KDE_APPLICATIONS_VERSION_MINOR "11")
-set (KDE_APPLICATIONS_VERSION_MICRO "90")
+set (KDE_APPLICATIONS_VERSION_MAJOR "18")
+set (KDE_APPLICATIONS_VERSION_MINOR "03")
+set (KDE_APPLICATIONS_VERSION_MICRO "70")
set (KDE_APPLICATIONS_VERSION "${KDE_APPLICATIONS_VERSION_MAJOR}.${KDE_APPLICATIONS_VERSION_MINOR}.${KDE_APPLICATIONS_VERSION_MICRO}")
project(Dolphin VERSION ${KDE_APPLICATIONS_VERSION})
set(QT_MIN_VERSION "5.5.0")
-set(KF5_MIN_VERSION "5.37.0")
+set(KF5_MIN_VERSION "5.40.0")
set(ECM_MIN_VERSION "1.6.0")
# ECM setup
m_mainWindow(parent),
m_fileInfo(fileInfo),
m_baseUrl(baseUrl),
- m_baseFileItem(0),
+ m_baseFileItem(nullptr),
m_selectedItems(),
m_selectedItemsProperties(nullptr),
m_context(NoContext),
m_copyToMenu(parent),
m_customActions(),
m_command(None),
- m_removeAction(0)
+ m_removeAction(nullptr)
{
// The context menu either accesses the URLs of the selected items
// or the items itself. To increase the performance both lists are cached.
addAction(m_mainWindow->actionCollection()->action(QStringLiteral("new_tab")));
// Insert 'Add to Places' entry if exactly one item is selected
- QAction* addToPlacesAction = 0;
+ QAction* addToPlacesAction = nullptr;
if (!placeExists(m_mainWindow->activeViewContainer()->url())) {
addToPlacesAction = addAction(QIcon::fromTheme(QStringLiteral("bookmark-new")),
i18nc("@action:inmenu Add current folder to places", "Add to Places"));
if (showDeleteAction && showMoveToTrashAction) {
delete m_removeAction;
- m_removeAction = 0;
+ m_removeAction = nullptr;
addAction(m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::MoveToTrash)));
addAction(m_mainWindow->actionCollection()->action(KStandardAction::name(KStandardAction::DeleteFile)));
} else if (showDeleteAction && !showMoveToTrashAction) {
QAction* DolphinContextMenu::createPasteAction()
{
- QAction* action = 0;
+ QAction* action = nullptr;
const bool isDir = !m_fileInfo.isNull() && m_fileInfo.isDir();
if (isDir && (m_selectedItems.count() == 1)) {
const QMimeData *mimeData = QApplication::clipboard()->mimeData();
const KFileItem& fileInfo,
const QUrl& baseUrl);
- virtual ~DolphinContextMenu();
+ ~DolphinContextMenu() override;
void setCustomActions(const QList<QAction*>& actions);
Command open();
protected:
- virtual void keyPressEvent(QKeyEvent *ev) Q_DECL_OVERRIDE;
- virtual void keyReleaseEvent(QKeyEvent *ev) Q_DECL_OVERRIDE;
+ void keyPressEvent(QKeyEvent *ev) override;
+ void keyReleaseEvent(QKeyEvent *ev) override;
private:
void openTrashContextMenu();
public:
explicit DolphinDockTitleBar(QWidget* parent = nullptr) : QWidget(parent) {}
- virtual ~DolphinDockTitleBar() {}
+ ~DolphinDockTitleBar() override {}
- QSize minimumSizeHint() const Q_DECL_OVERRIDE
+ QSize minimumSizeHint() const override
{
const int border = style()->pixelMetric(QStyle::PM_DockWidgetTitleBarButtonMargin);
return QSize(border, border);
}
- QSize sizeHint() const Q_DECL_OVERRIDE
+ QSize sizeHint() const override
{
return minimumSizeHint();
}
Q_OBJECT
public:
- explicit DolphinDockWidget(const QString& title, QWidget* parent = 0, Qt::WindowFlags flags = 0);
- explicit DolphinDockWidget(QWidget* parent = 0, Qt::WindowFlags flags = 0);
- virtual ~DolphinDockWidget();
+ explicit DolphinDockWidget(const QString& title, QWidget* parent = nullptr, Qt::WindowFlags flags = nullptr);
+ explicit DolphinDockWidget(QWidget* parent = nullptr, Qt::WindowFlags flags = nullptr);
+ ~DolphinDockWidget() override;
/**
* @param lock If \a lock is true, the title bar of the dock-widget will get hidden so
}
DolphinMainWindow::DolphinMainWindow() :
- KXmlGuiWindow(0),
- m_newFileMenu(0),
- m_tabWidget(0),
- m_activeViewContainer(0),
- m_actionHandler(0),
- m_remoteEncoding(0),
+ KXmlGuiWindow(nullptr),
+ m_newFileMenu(nullptr),
+ m_tabWidget(nullptr),
+ m_activeViewContainer(nullptr),
+ m_actionHandler(nullptr),
+ m_remoteEncoding(nullptr),
m_settingsDialog(),
- m_controlButton(0),
- m_updateToolBarTimer(0),
- m_lastHandleUrlStatJob(0),
+ m_controlButton(nullptr),
+ m_updateToolBarTimer(nullptr),
+ m_lastHandleUrlStatJob(nullptr),
#ifndef Q_OS_WIN
- m_terminalPanel(0),
+ m_terminalPanel(nullptr),
#endif
- m_placesPanel(0),
+ m_placesPanel(nullptr),
m_tearDownFromPlacesRequested(false)
{
Q_INIT_RESOURCE(dolphin);
void DolphinMainWindow::handleUrl(const QUrl& url)
{
delete m_lastHandleUrlStatJob;
- m_lastHandleUrlStatJob = 0;
+ m_lastHandleUrlStatJob = nullptr;
if (url.isLocalFile() && QFileInfo(url.toLocalFile()).isDir()) {
activeViewContainer()->setUrl(url);
void DolphinMainWindow::slotHandleUrlStatFinished(KJob* job)
{
- m_lastHandleUrlStatJob = 0;
+ m_lastHandleUrlStatJob = nullptr;
const KIO::UDSEntry entry = static_cast<KIO::StatJob*>(job)->statResult();
const QUrl url = static_cast<KIO::StatJob*>(job)->url();
if (entry.isDir()) {
void DolphinMainWindow::slotControlButtonDeleted()
{
- m_controlButton = 0;
+ m_controlButton = nullptr;
m_updateToolBarTimer->start();
}
}
// setup 'Settings' menu
- KToggleAction* showMenuBar = KStandardAction::showMenubar(0, 0, actionCollection());
+ KToggleAction* showMenuBar = KStandardAction::showMenubar(nullptr, nullptr, actionCollection());
connect(showMenuBar, &KToggleAction::triggered, // Fixes #286822
this, &DolphinMainWindow::toggleShowMenuBar, Qt::QueuedConnection);
KStandardAction::preferences(this, SLOT(editSettings()), actionCollection());
void DolphinMainWindow::deleteControlButton()
{
delete m_controlButton;
- m_controlButton = 0;
+ m_controlButton = nullptr;
delete m_updateToolBarTimer;
- m_updateToolBarTimer = 0;
+ m_updateToolBarTimer = nullptr;
}
bool DolphinMainWindow::addActionToMenu(QAction* action, QMenu* menu)
public:
DolphinMainWindow();
- virtual ~DolphinMainWindow();
+ ~DolphinMainWindow() override;
/**
* Returns the currently active view.
protected:
/** @see QWidget::showEvent() */
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
+ void showEvent(QShowEvent* event) override;
/** @see QMainWindow::closeEvent() */
- virtual void closeEvent(QCloseEvent* event) Q_DECL_OVERRIDE;
+ void closeEvent(QCloseEvent* event) override;
/** @see KMainWindow::saveProperties() */
- virtual void saveProperties(KConfigGroup& group) Q_DECL_OVERRIDE;
+ void saveProperties(KConfigGroup& group) override;
/** @see KMainWindow::readProperties() */
- virtual void readProperties(const KConfigGroup& group) Q_DECL_OVERRIDE;
+ void readProperties(const KConfigGroup& group) override;
private slots:
/**
{
public:
UndoUiInterface();
- virtual ~UndoUiInterface();
- virtual void jobError(KIO::Job* job) Q_DECL_OVERRIDE;
+ ~UndoUiInterface() override;
+ void jobError(KIO::Job* job) override;
};
KNewFileMenu* m_newFileMenu;
public:
DolphinNewFileMenu(KActionCollection* collection, QObject* parent);
- virtual ~DolphinNewFileMenu();
+ ~DolphinNewFileMenu() override;
signals:
void errorMessage(const QString& error);
protected slots:
/** @see KNewFileMenu::slotResult() */
- virtual void slotResult(KJob* job) Q_DECL_OVERRIDE;
+ void slotResult(KJob* job) override;
};
#endif
DolphinPart::DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args)
: KParts::ReadOnlyPart(parent)
- ,m_openTerminalAction(0)
- ,m_removeAction(0)
+ ,m_openTerminalAction(nullptr)
+ ,m_removeAction(nullptr)
{
Q_UNUSED(args)
setComponentData(*createAboutData(), false);
QString prettyUrl = visibleUrl.toDisplayString(QUrl::PreferLocalFile);
emit setWindowCaption(prettyUrl);
emit m_extension->setLocationBarUrl(prettyUrl);
- emit started(0); // get the wheel to spin
+ emit started(nullptr); // get the wheel to spin
m_view->setNameFilter(m_nameFilter);
m_view->setUrl(url);
updatePasteAction();
if (showDeleteAction && showMoveToTrashAction) {
delete m_removeAction;
- m_removeAction = 0;
+ m_removeAction = nullptr;
editActions.append(actionCollection()->action(KStandardAction::name(KStandardAction::MoveToTrash)));
editActions.append(actionCollection()->action(KStandardAction::name(KStandardAction::DeleteFile)));
} else if (showDeleteAction && !showMoveToTrashAction) {
public:
explicit DolphinPart(QWidget* parentWidget, QObject* parent, const QVariantList& args);
- ~DolphinPart();
+ ~DolphinPart() override;
static KAboutData* createAboutData();
* Standard KParts::ReadOnlyPart openUrl method.
* Called by Konqueror to view a directory in DolphinPart.
*/
- virtual bool openUrl(const QUrl& url) Q_DECL_OVERRIDE;
+ bool openUrl(const QUrl& url) override;
/// see the supportsUndo property
bool supportsUndo() const { return true; }
/**
* We reimplement openUrl so no need to implement openFile.
*/
- virtual bool openFile() override { return true; }
+ bool openFile() override { return true; }
Q_SIGNALS:
/**
void setFilesToSelect(const QList<QUrl> &files);
QList<QUrl> filesToSelect() const { return QList<QUrl>(); } // silence moc
- virtual bool eventFilter(QObject*, QEvent*) Q_DECL_OVERRIDE;
+ bool eventFilter(QObject*, QEvent*) override;
private:
void createActions();
Q_OBJECT
public:
DolphinPartBrowserExtension( DolphinPart* part );
- virtual void restoreState(QDataStream &stream) Q_DECL_OVERRIDE;
- virtual void saveState(QDataStream &stream) Q_DECL_OVERRIDE;
+ void restoreState(QDataStream &stream) override;
+ void saveState(QDataStream &stream) override;
public Q_SLOTS:
void cut();
public:
DolphinPartFileInfoExtension(DolphinPart* part);
- virtual QueryModes supportedQueryModes() const Q_DECL_OVERRIDE;
- virtual bool hasSelection() const Q_DECL_OVERRIDE;
+ QueryModes supportedQueryModes() const override;
+ bool hasSelection() const override;
- virtual KFileItemList queryFor(QueryMode mode) const Q_DECL_OVERRIDE;
+ KFileItemList queryFor(QueryMode mode) const override;
private:
DolphinPart* m_part;
public:
DolphinPartListingFilterExtension(DolphinPart* part);
- virtual FilterModes supportedFilterModes() const Q_DECL_OVERRIDE;
- virtual bool supportsMultipleFilters(FilterMode mode) const Q_DECL_OVERRIDE;
- virtual QVariant filter(FilterMode mode) const Q_DECL_OVERRIDE;
- virtual void setFilter(FilterMode mode, const QVariant& filter) Q_DECL_OVERRIDE;
+ FilterModes supportedFilterModes() const override;
+ bool supportsMultipleFilters(FilterMode mode) const override;
+ QVariant filter(FilterMode mode) const override;
+ void setFilter(FilterMode mode, const QVariant& filter) override;
private:
DolphinPart* m_part;
public:
DolphinPartListingNotificationExtension(DolphinPart* part);
- virtual NotificationEventTypes supportedNotificationEventTypes() const Q_DECL_OVERRIDE;
+ NotificationEventTypes supportedNotificationEventTypes() const override;
public Q_SLOTS:
void slotNewItems(const KFileItemList&);
const QByteArray state = action->data().toByteArray();
removeAction(action);
delete action;
- action = 0;
+ action = nullptr;
emit restoreClosedTab(state);
emit closedTabsCountChanged(menu()->actions().size() - 2);
}
void tabDetachRequested(int index);
protected:
- virtual void dragEnterEvent(QDragEnterEvent* event) Q_DECL_OVERRIDE;
- virtual void dragLeaveEvent(QDragLeaveEvent* event) Q_DECL_OVERRIDE;
- virtual void dragMoveEvent(QDragMoveEvent* event) Q_DECL_OVERRIDE;
- virtual void dropEvent(QDropEvent* event) Q_DECL_OVERRIDE;
- virtual void mousePressEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
- virtual void mouseReleaseEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
- virtual void mouseDoubleClickEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
+ void dragEnterEvent(QDragEnterEvent* event) override;
+ void dragLeaveEvent(QDragLeaveEvent* event) override;
+ void dragMoveEvent(QDragMoveEvent* event) override;
+ void dropEvent(QDropEvent* event) override;
+ void mousePressEvent(QMouseEvent* event) override;
+ void mouseReleaseEvent(QMouseEvent* event) override;
+ void mouseDoubleClickEvent(QMouseEvent* event) override;
/**
* Opens a context menu for the tab on the \a event position.
*/
- virtual void contextMenuEvent(QContextMenuEvent* event) Q_DECL_OVERRIDE;
+ void contextMenuEvent(QContextMenuEvent* event) override;
private slots:
void slotAutoActivationTimeout();
Q_OBJECT
public:
- explicit DolphinTabPage(const QUrl& primaryUrl, const QUrl& secondaryUrl = QUrl(), QWidget* parent = 0);
+ explicit DolphinTabPage(const QUrl& primaryUrl, const QUrl& secondaryUrl = QUrl(), QWidget* parent = nullptr);
/**
* @return True if primary view is the active view in this tab.
void currentTabChanged(int index);
protected:
- virtual void tabInserted(int index) Q_DECL_OVERRIDE;
- virtual void tabRemoved(int index) Q_DECL_OVERRIDE;
+ void tabInserted(int index) override;
+ void tabRemoved(int index) override;
private:
/**
DolphinViewContainer::DolphinViewContainer(const QUrl& url, QWidget* parent) :
QWidget(parent),
- m_topLayout(0),
- m_urlNavigator(0),
- m_searchBox(0),
- m_messageWidget(0),
- m_view(0),
- m_filterBar(0),
- m_statusBar(0),
- m_statusBarTimer(0),
+ m_topLayout(nullptr),
+ m_urlNavigator(nullptr),
+ m_searchBox(nullptr),
+ m_messageWidget(nullptr),
+ m_view(nullptr),
+ m_filterBar(nullptr),
+ m_statusBar(nullptr),
+ m_statusBarTimer(nullptr),
m_statusBarTimestamp(),
m_autoGrabFocus(true)
#ifdef KActivities_FOUND
};
DolphinViewContainer(const QUrl& url, QWidget* parent);
- virtual ~DolphinViewContainer();
+ ~DolphinViewContainer() override;
/**
* Returns the current active URL, where all actions are applied.
Q_OBJECT
public:
- explicit FilterBar(QWidget* parent = 0);
- virtual ~FilterBar();
+ explicit FilterBar(QWidget* parent = nullptr);
+ ~FilterBar() override;
/** Called by view container to hide this **/
void closeFilterBar();
void focusViewRequest();
protected:
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
- virtual void keyReleaseEvent(QKeyEvent* event) Q_DECL_OVERRIDE;
+ void showEvent(QShowEvent* event) override;
+ void keyReleaseEvent(QKeyEvent* event) override;
private:
QLineEdit* m_filterInput;
KFileItemListView::KFileItemListView(QGraphicsWidget* parent) :
KStandardItemListView(parent),
- m_modelRolesUpdater(0),
- m_updateVisibleIndexRangeTimer(0),
- m_updateIconSizeTimer(0)
+ m_modelRolesUpdater(nullptr),
+ m_updateVisibleIndexRangeTimer(nullptr),
+ m_updateIconSizeTimer(nullptr)
{
setAcceptDrops(true);
KStandardItemListView::onModelChanged(current, previous);
delete m_modelRolesUpdater;
- m_modelRolesUpdater = 0;
+ m_modelRolesUpdater = nullptr;
if (current) {
m_modelRolesUpdater = new KFileItemModelRolesUpdater(static_cast<KFileItemModel*>(current), this);
Q_OBJECT
public:
- KFileItemListView(QGraphicsWidget* parent = 0);
- virtual ~KFileItemListView();
+ KFileItemListView(QGraphicsWidget* parent = nullptr);
+ ~KFileItemListView() override;
void setPreviewsShown(bool show);
bool previewsShown() const;
*/
QStringList enabledPlugins() const;
- virtual QPixmap createDragPixmap(const KItemSet& indexes) const Q_DECL_OVERRIDE;
+ QPixmap createDragPixmap(const KItemSet& indexes) const override;
protected:
- virtual KItemListWidgetCreatorBase* defaultWidgetCreator() const Q_DECL_OVERRIDE;
- virtual void initializeItemListWidget(KItemListWidget* item) Q_DECL_OVERRIDE;
+ KItemListWidgetCreatorBase* defaultWidgetCreator() const override;
+ void initializeItemListWidget(KItemListWidget* item) override;
virtual void onPreviewsShownChanged(bool shown);
- virtual void onItemLayoutChanged(ItemLayout current, ItemLayout previous) Q_DECL_OVERRIDE;
- virtual void onModelChanged(KItemModelBase* current, KItemModelBase* previous) Q_DECL_OVERRIDE;
- virtual void onScrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous) Q_DECL_OVERRIDE;
- virtual void onItemSizeChanged(const QSizeF& current, const QSizeF& previous) Q_DECL_OVERRIDE;
- virtual void onScrollOffsetChanged(qreal current, qreal previous) Q_DECL_OVERRIDE;
- virtual void onVisibleRolesChanged(const QList<QByteArray>& current, const QList<QByteArray>& previous) Q_DECL_OVERRIDE;
- virtual void onStyleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous) Q_DECL_OVERRIDE;
- virtual void onSupportsItemExpandingChanged(bool supportsExpanding) Q_DECL_OVERRIDE;
- virtual void onTransactionBegin() Q_DECL_OVERRIDE;
- virtual void onTransactionEnd() Q_DECL_OVERRIDE;
- virtual void resizeEvent(QGraphicsSceneResizeEvent* event) Q_DECL_OVERRIDE;
+ void onItemLayoutChanged(ItemLayout current, ItemLayout previous) override;
+ void onModelChanged(KItemModelBase* current, KItemModelBase* previous) override;
+ void onScrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous) override;
+ void onItemSizeChanged(const QSizeF& current, const QSizeF& previous) override;
+ void onScrollOffsetChanged(qreal current, qreal previous) override;
+ void onVisibleRolesChanged(const QList<QByteArray>& current, const QList<QByteArray>& previous) override;
+ void onStyleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous) override;
+ void onSupportsItemExpandingChanged(bool supportsExpanding) override;
+ void onTransactionBegin() override;
+ void onTransactionEnd() override;
+ void resizeEvent(QGraphicsSceneResizeEvent* event) override;
protected slots:
- virtual void slotItemsRemoved(const KItemRangeList& itemRanges) Q_DECL_OVERRIDE;
- virtual void slotSortRoleChanged(const QByteArray& current, const QByteArray& previous) Q_DECL_OVERRIDE;
+ void slotItemsRemoved(const KItemRangeList& itemRanges) override;
+ void slotSortRoleChanged(const QByteArray& current, const QByteArray& previous) override;
private slots:
void triggerVisibleIndexRangeUpdate();
{
public:
KFileItemListWidgetInformant();
- virtual ~KFileItemListWidgetInformant();
+ ~KFileItemListWidgetInformant() override;
protected:
- virtual QString itemText(int index, const KItemListView* view) const Q_DECL_OVERRIDE;
- virtual bool itemIsLink(int index, const KItemListView* view) const Q_DECL_OVERRIDE;
- virtual QString roleText(const QByteArray& role, const QHash<QByteArray, QVariant>& values) const Q_DECL_OVERRIDE;
- virtual QFont customizedFontForLinks(const QFont& baseFont) const Q_DECL_OVERRIDE;
+ QString itemText(int index, const KItemListView* view) const override;
+ bool itemIsLink(int index, const KItemListView* view) const override;
+ QString roleText(const QByteArray& role, const QHash<QByteArray, QVariant>& values) const override;
+ QFont customizedFontForLinks(const QFont& baseFont) const override;
};
class DOLPHIN_EXPORT KFileItemListWidget : public KStandardItemListWidget
public:
KFileItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent);
- virtual ~KFileItemListWidget();
+ ~KFileItemListWidget() override;
static KItemListWidgetInformant* createInformant();
protected:
- virtual bool isRoleRightAligned(const QByteArray& role) const Q_DECL_OVERRIDE;
- virtual bool isHidden() const Q_DECL_OVERRIDE;
- virtual QFont customizedFont(const QFont& baseFont) const Q_DECL_OVERRIDE;
+ bool isRoleRightAligned(const QByteArray& role) const override;
+ bool isHidden() const override;
+ QFont customizedFont(const QFont& baseFont) const override;
/**
* @return Selection length without MIME-type extension
*/
- virtual int selectionLength(const QString& text) const Q_DECL_OVERRIDE;
+ int selectionLength(const QString& text) const override;
};
#endif
KFileItemModel::KFileItemModel(QObject* parent) :
KItemModelBase("text", parent),
- m_dirLister(0),
+ m_dirLister(nullptr),
m_sortDirsFirst(true),
m_sortRole(NameRole),
m_sortingProgressPercent(-1),
m_filter(),
m_filteredItems(),
m_requestRole(),
- m_maximumUpdateIntervalTimer(0),
- m_resortAllItemsTimer(0),
+ m_maximumUpdateIntervalTimer(nullptr),
+ m_resortAllItemsTimer(nullptr),
m_pendingItemsToInsert(),
m_groups(),
m_expandedDirs(),
QList<QUrl> urls;
QList<QUrl> mostLocalUrls;
bool canUseMostLocalUrls = true;
- const ItemData* lastAddedItem = 0;
+ const ItemData* lastAddedItem = nullptr;
for (int index : indexes) {
const ItemData* itemData = m_itemData.at(index);
{
static const RoleInfoMap rolesInfoMap[] = {
// | role | roleType | role translation | group translation | requires Baloo | requires indexer
- { 0, NoRole, 0, 0, 0, 0, false, false },
- { "text", NameRole, I18N_NOOP2_NOSTRIP("@label", "Name"), 0, 0, false, false },
- { "size", SizeRole, I18N_NOOP2_NOSTRIP("@label", "Size"), 0, 0, false, false },
- { "modificationtime", ModificationTimeRole, I18N_NOOP2_NOSTRIP("@label", "Modified"), 0, 0, false, false },
- { "creationtime", CreationTimeRole, I18N_NOOP2_NOSTRIP("@label", "Created"), 0, 0, false, false },
- { "accesstime", AccessTimeRole, I18N_NOOP2_NOSTRIP("@label", "Accessed"), 0, 0, false, false },
- { "type", TypeRole, I18N_NOOP2_NOSTRIP("@label", "Type"), 0, 0, false, false },
- { "rating", RatingRole, I18N_NOOP2_NOSTRIP("@label", "Rating"), 0, 0, true, false },
- { "tags", TagsRole, I18N_NOOP2_NOSTRIP("@label", "Tags"), 0, 0, true, false },
- { "comment", CommentRole, I18N_NOOP2_NOSTRIP("@label", "Comment"), 0, 0, true, false },
+ { nullptr, NoRole, nullptr, nullptr, nullptr, nullptr, false, false },
+ { "text", NameRole, I18N_NOOP2_NOSTRIP("@label", "Name"), nullptr, nullptr, false, false },
+ { "size", SizeRole, I18N_NOOP2_NOSTRIP("@label", "Size"), nullptr, nullptr, false, false },
+ { "modificationtime", ModificationTimeRole, I18N_NOOP2_NOSTRIP("@label", "Modified"), nullptr, nullptr, false, false },
+ { "creationtime", CreationTimeRole, I18N_NOOP2_NOSTRIP("@label", "Created"), nullptr, nullptr, false, false },
+ { "accesstime", AccessTimeRole, I18N_NOOP2_NOSTRIP("@label", "Accessed"), nullptr, nullptr, false, false },
+ { "type", TypeRole, I18N_NOOP2_NOSTRIP("@label", "Type"), nullptr, nullptr, false, false },
+ { "rating", RatingRole, I18N_NOOP2_NOSTRIP("@label", "Rating"), nullptr, nullptr, true, false },
+ { "tags", TagsRole, I18N_NOOP2_NOSTRIP("@label", "Tags"), nullptr, nullptr, true, false },
+ { "comment", CommentRole, I18N_NOOP2_NOSTRIP("@label", "Comment"), nullptr, nullptr, true, false },
{ "title", TitleRole, I18N_NOOP2_NOSTRIP("@label", "Title"), I18N_NOOP2_NOSTRIP("@label", "Document"), true, true },
{ "wordCount", WordCountRole, I18N_NOOP2_NOSTRIP("@label", "Word Count"), I18N_NOOP2_NOSTRIP("@label", "Document"), true, true },
{ "lineCount", LineCountRole, I18N_NOOP2_NOSTRIP("@label", "Line Count"), I18N_NOOP2_NOSTRIP("@label", "Document"), true, true },
Q_OBJECT
public:
- explicit KFileItemModel(QObject* parent = 0);
- virtual ~KFileItemModel();
+ explicit KFileItemModel(QObject* parent = nullptr);
+ ~KFileItemModel() override;
/**
* Loads the directory specified by \a url. The signals
* the root-parent of all items.
* @see rootItem()
*/
- QUrl directory() const Q_DECL_OVERRIDE;
+ QUrl directory() const override;
/**
* Cancels the loading of a directory which has been started by either
*/
void cancelDirectoryLoading();
- virtual int count() const Q_DECL_OVERRIDE;
- virtual QHash<QByteArray, QVariant> data(int index) const Q_DECL_OVERRIDE;
- virtual bool setData(int index, const QHash<QByteArray, QVariant>& values) Q_DECL_OVERRIDE;
+ int count() const override;
+ QHash<QByteArray, QVariant> data(int index) const override;
+ bool setData(int index, const QHash<QByteArray, QVariant>& values) override;
/**
* Sets a separate sorting with directories first (true) or a mixed
void setShowDirectoriesOnly(bool enabled);
bool showDirectoriesOnly() const;
- virtual QMimeData* createMimeData(const KItemSet& indexes) const Q_DECL_OVERRIDE;
+ QMimeData* createMimeData(const KItemSet& indexes) const override;
- virtual int indexForKeyboardSearch(const QString& text, int startFromIndex = 0) const Q_DECL_OVERRIDE;
+ int indexForKeyboardSearch(const QString& text, int startFromIndex = 0) const override;
- virtual bool supportsDropping(int index) const Q_DECL_OVERRIDE;
+ bool supportsDropping(int index) const override;
- virtual QString roleDescription(const QByteArray& role) const Q_DECL_OVERRIDE;
+ QString roleDescription(const QByteArray& role) const override;
- virtual QList<QPair<int, QVariant> > groups() const Q_DECL_OVERRIDE;
+ QList<QPair<int, QVariant> > groups() const override;
/**
* @return The file-item for the index \a index. If the index is in a valid
void setRoles(const QSet<QByteArray>& roles);
QSet<QByteArray> roles() const;
- virtual bool setExpanded(int index, bool expanded) Q_DECL_OVERRIDE;
- virtual bool isExpanded(int index) const Q_DECL_OVERRIDE;
- virtual bool isExpandable(int index) const Q_DECL_OVERRIDE;
- virtual int expandedParentsCount(int index) const Q_DECL_OVERRIDE;
+ bool setExpanded(int index, bool expanded) override;
+ bool isExpanded(int index) const override;
+ bool isExpandable(int index) const override;
+ int expandedParentsCount(int index) const override;
QSet<QUrl> expandedDirectories() const;
void urlIsFileError(const QUrl& url);
protected:
- virtual void onGroupedSortingChanged(bool current) Q_DECL_OVERRIDE;
- virtual void onSortRoleChanged(const QByteArray& current, const QByteArray& previous) Q_DECL_OVERRIDE;
- virtual void onSortOrderChanged(Qt::SortOrder current, Qt::SortOrder previous) Q_DECL_OVERRIDE;
+ void onGroupedSortingChanged(bool current) override;
+ void onSortRoleChanged(const QByteArray& current, const QByteArray& previous) override;
+ void onSortOrderChanged(Qt::SortOrder current, Qt::SortOrder previous) override;
private slots:
/**
m_pendingIndexes(),
m_pendingPreviewItems(),
m_previewJob(),
- m_recentlyChangedItemsTimer(0),
+ m_recentlyChangedItemsTimer(nullptr),
m_recentlyChangedItems(),
m_changedItems(),
- m_directoryContentsCounter(0)
+ m_directoryContentsCounter(nullptr)
#ifdef HAVE_BALOO
- , m_balooFileMonitor(0)
+ , m_balooFileMonitor(nullptr)
#endif
{
Q_ASSERT(model);
const KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings");
- m_enabledPlugins = globalConfig.readEntry("Plugins", QStringList()
- << QStringLiteral("directorythumbnail")
- << QStringLiteral("imagethumbnail")
- << QStringLiteral("jpegthumbnail"));
+ m_enabledPlugins = globalConfig.readEntry("Plugins", KIO::PreviewJob::defaultPlugins());
connect(m_model, &KFileItemModel::itemsInserted,
this, &KFileItemModelRolesUpdater::slotItemsInserted);
this, &KFileItemModelRolesUpdater::applyChangedBalooRoles);
} else if (!hasBalooRole && m_balooFileMonitor) {
delete m_balooFileMonitor;
- m_balooFileMonitor = 0;
+ m_balooFileMonitor = nullptr;
}
#endif
void KFileItemModelRolesUpdater::slotPreviewJobFinished()
{
- m_previewJob = 0;
+ m_previewJob = nullptr;
if (m_state != PreviewJobRunning) {
return;
disconnect(m_previewJob, &KIO::PreviewJob::finished,
this, &KFileItemModelRolesUpdater::slotPreviewJobFinished);
m_previewJob->kill();
- m_previewJob = 0;
+ m_previewJob = nullptr;
m_pendingPreviewItems.clear();
}
}
Q_OBJECT
public:
- explicit KFileItemModelRolesUpdater(KFileItemModel* model, QObject* parent = 0);
- virtual ~KFileItemModelRolesUpdater();
+ explicit KFileItemModelRolesUpdater(KFileItemModel* model, QObject* parent = nullptr);
+ ~KFileItemModelRolesUpdater() override;
void setIconSize(const QSize& size);
QSize iconSize() const;
public:
KItemListContainerViewport(QGraphicsScene* scene, QWidget* parent);
protected:
- void wheelEvent(QWheelEvent* event) Q_DECL_OVERRIDE;
+ void wheelEvent(QWheelEvent* event) override;
};
KItemListContainerViewport::KItemListContainerViewport(QGraphicsScene* scene, QWidget* parent) :
KItemListContainer::KItemListContainer(KItemListController* controller, QWidget* parent) :
QAbstractScrollArea(parent),
m_controller(controller),
- m_horizontalSmoothScroller(0),
- m_verticalSmoothScroller(0)
+ m_horizontalSmoothScroller(nullptr),
+ m_verticalSmoothScroller(nullptr)
{
Q_ASSERT(controller);
controller->setParent(this);
m_verticalSmoothScroller = new KItemListSmoothScroller(verticalScrollBar(), this);
if (controller->model()) {
- slotModelChanged(controller->model(), 0);
+ slotModelChanged(controller->model(), nullptr);
}
if (controller->view()) {
- slotViewChanged(controller->view(), 0);
+ slotViewChanged(controller->view(), nullptr);
}
connect(controller, &KItemListController::modelChanged,
// Don't rely on the QObject-order to delete the controller, otherwise
// the QGraphicsScene might get deleted before the view.
delete m_controller;
- m_controller = 0;
+ m_controller = nullptr;
}
KItemListController* KItemListContainer::controller() const
disconnect(previous, &KItemListView::maximumItemOffsetChanged,
this, &KItemListContainer::updateItemOffsetScrollBar);
disconnect(previous, &KItemListView::scrollTo, this, &KItemListContainer::scrollTo);
- m_horizontalSmoothScroller->setTargetObject(0);
- m_verticalSmoothScroller->setTargetObject(0);
+ m_horizontalSmoothScroller->setTargetObject(nullptr);
+ m_verticalSmoothScroller->setTargetObject(nullptr);
}
if (current) {
scene->addItem(current);
return;
}
- KItemListSmoothScroller* smoothScroller = 0;
- QScrollBar* scrollOffsetScrollBar = 0;
+ KItemListSmoothScroller* smoothScroller = nullptr;
+ QScrollBar* scrollOffsetScrollBar = nullptr;
int singleStep = 0;
int pageStep = 0;
int maximum = 0;
return;
}
- KItemListSmoothScroller* smoothScroller = 0;
- QScrollBar* itemOffsetScrollBar = 0;
+ KItemListSmoothScroller* smoothScroller = nullptr;
+ QScrollBar* itemOffsetScrollBar = nullptr;
int singleStep = 0;
int pageStep = 0;
if (view->scrollOrientation() == Qt::Vertical) {
* (the parent will be set to the KItemListContainer).
* @param parent Optional parent widget.
*/
- explicit KItemListContainer(KItemListController* controller, QWidget* parent = 0);
- virtual ~KItemListContainer();
+ explicit KItemListContainer(KItemListController* controller, QWidget* parent = nullptr);
+ ~KItemListContainer() override;
KItemListController* controller() const;
void setEnabledFrame(bool enable);
bool enabledFrame() const;
protected:
- virtual void keyPressEvent(QKeyEvent* event) Q_DECL_OVERRIDE;
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
- virtual void resizeEvent(QResizeEvent* event) Q_DECL_OVERRIDE;
- virtual void scrollContentsBy(int dx, int dy) Q_DECL_OVERRIDE;
- virtual void wheelEvent(QWheelEvent* event) Q_DECL_OVERRIDE;
+ void keyPressEvent(QKeyEvent* event) override;
+ void showEvent(QShowEvent* event) override;
+ void resizeEvent(QResizeEvent* event) override;
+ void scrollContentsBy(int dx, int dy) override;
+ void wheelEvent(QWheelEvent* event) override;
private slots:
void slotScrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous);
m_selectionBehavior(NoSelection),
m_autoActivationBehavior(ActivationAndExpansion),
m_mouseDoubleClickAction(ActivateItemOnly),
- m_model(0),
- m_view(0),
+ m_model(nullptr),
+ m_view(nullptr),
m_selectionManager(new KItemListSelectionManager(this)),
m_keyboardManager(new KItemListKeyboardSearchManager(this)),
m_pressedIndex(-1),
m_pressedMousePos(),
- m_autoActivationTimer(0),
+ m_autoActivationTimer(nullptr),
m_oldSelection(),
m_keyboardAnchorIndex(-1),
m_keyboardAnchorPos(0)
KItemListController::~KItemListController()
{
- setView(0);
+ setView(nullptr);
Q_ASSERT(!m_view);
- setModel(0);
+ setModel(nullptr);
Q_ASSERT(!m_model);
}
}
}
- return 0;
+ return nullptr;
}
KItemListWidget* KItemListController::widgetForPos(const QPointF& pos) const
}
}
- return 0;
+ return nullptr;
}
void KItemListController::updateKeyboardAnchor()
* @param view View of the controller. The ownership is passed to the controller.
* @param parent Optional parent object.
*/
- KItemListController(KItemModelBase* model, KItemListView* view, QObject* parent = 0);
- virtual ~KItemListController();
+ KItemListController(KItemModelBase* model, KItemListView* view, QObject* parent = nullptr);
+ ~KItemListController() override;
void setModel(KItemModelBase* model);
KItemModelBase* model() const;
#include <QStyleOptionGraphicsItem>
KItemListGroupHeader::KItemListGroupHeader(QGraphicsWidget* parent) :
- QGraphicsWidget(parent, 0),
+ QGraphicsWidget(parent, nullptr),
m_dirtyCache(true),
m_role(),
m_data(),
Q_OBJECT
public:
- KItemListGroupHeader(QGraphicsWidget* parent = 0);
- virtual ~KItemListGroupHeader();
+ KItemListGroupHeader(QGraphicsWidget* parent = nullptr);
+ ~KItemListGroupHeader() override;
void setRole(const QByteArray& role);
QByteArray role() const;
void setItemIndex(int index);
int itemIndex() const;
- virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_OVERRIDE;
+ void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
protected:
virtual void paintRole(QPainter* painter, const QRectF& roleBounds, const QColor& color) = 0;
*/
virtual void itemIndexChanged(int current, int previous);
- virtual void resizeEvent(QGraphicsSceneResizeEvent* event) Q_DECL_OVERRIDE;
+ void resizeEvent(QGraphicsSceneResizeEvent* event) override;
virtual QPalette::ColorRole normalTextColorRole() const;
virtual QPalette::ColorRole normalBaseColorRole() const;
Q_OBJECT
public:
- virtual ~KItemListHeader();
+ ~KItemListHeader() override;
/**
* If set to true, KItemListView will automatically adjust the
m_anchorItem(-1),
m_selectedItems(),
m_isAnchoredSelectionActive(false),
- m_model(0)
+ m_model(nullptr)
{
}
Toggle
};
- KItemListSelectionManager(QObject* parent = 0);
- virtual ~KItemListSelectionManager();
+ KItemListSelectionManager(QObject* parent = nullptr);
+ ~KItemListSelectionManager() override;
void setCurrentItem(int current);
int currentItem() const;
return new KItemListViewAccessible(view);
}
- return 0;
+ return nullptr;
}
#endif
m_activeTransactions(0),
m_endTransactionAnimationHint(Animation),
m_itemSize(),
- m_controller(0),
- m_model(0),
+ m_controller(nullptr),
+ m_model(nullptr),
m_visibleRoles(),
- m_widgetCreator(0),
- m_groupHeaderCreator(0),
+ m_widgetCreator(nullptr),
+ m_groupHeaderCreator(nullptr),
m_styleOption(),
m_visibleItems(),
m_visibleGroups(),
m_visibleCells(),
- m_sizeHintResolver(0),
- m_layouter(0),
- m_animation(0),
- m_layoutTimer(0),
+ m_sizeHintResolver(nullptr),
+ m_layouter(nullptr),
+ m_animation(nullptr),
+ m_layoutTimer(nullptr),
m_oldScrollOffset(0),
m_oldMaximumScrollOffset(0),
m_oldItemOffset(0),
m_oldMaximumItemOffset(0),
m_skipAutoScrollForRubberBand(false),
- m_rubberBand(0),
+ m_rubberBand(nullptr),
m_mousePos(),
m_autoScrollIncrement(0),
- m_autoScrollTimer(0),
- m_header(0),
- m_headerWidget(0),
+ m_autoScrollTimer(nullptr),
+ m_header(nullptr),
+ m_headerWidget(nullptr),
m_dropIndicator()
{
setAcceptHoverEvents(true);
// widgetCreator(). So it is mandatory to delete the group headers
// first.
delete m_groupHeaderCreator;
- m_groupHeaderCreator = 0;
+ m_groupHeaderCreator = nullptr;
delete m_widgetCreator;
- m_widgetCreator = 0;
+ m_widgetCreator = nullptr;
delete m_sizeHintResolver;
- m_sizeHintResolver = 0;
+ m_sizeHintResolver = nullptr;
}
void KItemListView::setScrollOffset(qreal offset)
m_autoScrollTimer->start(InitialAutoScrollDelay);
} else if (!enabled && m_autoScrollTimer) {
delete m_autoScrollTimer;
- m_autoScrollTimer = 0;
+ m_autoScrollTimer = nullptr;
}
}
bool KItemListView::autoScroll() const
{
- return m_autoScrollTimer != 0;
+ return m_autoScrollTimer != nullptr;
}
void KItemListView::setEnabledSelectionToggles(bool enabled)
KItemListWidget* item = m_visibleItems.value(indexes.first());
QGraphicsView* graphicsView = scene()->views()[0];
if (item && graphicsView) {
- pixmap = item->createDragPixmap(0, graphicsView);
+ pixmap = item->createDragPixmap(nullptr, graphicsView);
}
} else {
// TODO: Not implemented yet. Probably extend the interface
KItemListWidgetCreatorBase* KItemListView::defaultWidgetCreator() const
{
- return 0;
+ return nullptr;
}
KItemListGroupHeaderCreatorBase* KItemListView::defaultGroupHeaderCreator() const
{
- return 0;
+ return nullptr;
}
void KItemListView::initializeItemListWidget(KItemListWidget* item)
{
KItemListGroupHeader* header = m_visibleGroups.value(widget);
if (header) {
- header->setParentItem(0);
+ header->setParentItem(nullptr);
groupHeaderCreator()->recycle(header);
m_visibleGroups.remove(widget);
disconnect(widget, &KItemListWidget::geometryChanged, this, &KItemListView::slotGeometryOfGroupHeaderParentChanged);
const int parents = m_model->expandedParentsCount(lastIndex + 1);
for (int i = lastIndex; i >= firstIndex; --i) {
if (m_model->expandedParentsCount(i) != parents) {
- widget = 0;
+ widget = nullptr;
break;
}
}
QGraphicsWidget* KItemListCreatorBase::popRecycleableWidget()
{
if (m_recycleableWidgets.isEmpty()) {
- return 0;
+ return nullptr;
}
QGraphicsWidget* widget = m_recycleableWidgets.takeLast();
void KItemListWidgetCreatorBase::recycle(KItemListWidget* widget)
{
- widget->setParentItem(0);
+ widget->setParentItem(nullptr);
widget->setOpacity(1.0);
pushRecycleableWidget(widget);
}
Q_PROPERTY(qreal itemOffset READ itemOffset WRITE setItemOffset)
public:
- KItemListView(QGraphicsWidget* parent = 0);
- virtual ~KItemListView();
+ KItemListView(QGraphicsWidget* parent = nullptr);
+ ~KItemListView() override;
/**
* Offset of the scrollbar that represents the scroll-orientation
const KItemListStyleOption& styleOption() const;
- virtual void setGeometry(const QRectF& rect) Q_DECL_OVERRIDE;
+ void setGeometry(const QRectF& rect) override;
/**
* @return The page step which should be used by the vertical scroll bar.
*/
void editRole(int index, const QByteArray& role);
- virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_OVERRIDE;
+ void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
signals:
void scrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous);
void roleEditingFinished(int index, const QByteArray& role, const QVariant& value);
protected:
- virtual QVariant itemChange(GraphicsItemChange change, const QVariant &value) Q_DECL_OVERRIDE;
+ QVariant itemChange(GraphicsItemChange change, const QVariant &value) override;
void setItemSize(const QSizeF& size);
void setStyleOption(const KItemListStyleOption& option);
virtual void onTransactionBegin();
virtual void onTransactionEnd();
- virtual bool event(QEvent* event) Q_DECL_OVERRIDE;
- virtual void mousePressEvent(QGraphicsSceneMouseEvent* event) Q_DECL_OVERRIDE;
- virtual void mouseMoveEvent(QGraphicsSceneMouseEvent* event) Q_DECL_OVERRIDE;
- virtual void dragEnterEvent(QGraphicsSceneDragDropEvent* event) Q_DECL_OVERRIDE;
- virtual void dragMoveEvent(QGraphicsSceneDragDropEvent* event) Q_DECL_OVERRIDE;
- virtual void dragLeaveEvent(QGraphicsSceneDragDropEvent* event) Q_DECL_OVERRIDE;
- virtual void dropEvent(QGraphicsSceneDragDropEvent* event) Q_DECL_OVERRIDE;
+ bool event(QEvent* event) override;
+ void mousePressEvent(QGraphicsSceneMouseEvent* event) override;
+ void mouseMoveEvent(QGraphicsSceneMouseEvent* event) override;
+ void dragEnterEvent(QGraphicsSceneDragDropEvent* event) override;
+ void dragMoveEvent(QGraphicsSceneDragDropEvent* event) override;
+ void dragLeaveEvent(QGraphicsSceneDragDropEvent* event) override;
+ void dropEvent(QGraphicsSceneDragDropEvent* event) override;
QList<KItemListWidget*> visibleItemListWidgets() const;
class DOLPHIN_EXPORT KItemListWidgetCreatorBase : public KItemListCreatorBase
{
public:
- virtual ~KItemListWidgetCreatorBase();
+ ~KItemListWidgetCreatorBase() override;
virtual KItemListWidget* create(KItemListView* view) = 0;
{
public:
KItemListWidgetCreator();
- virtual ~KItemListWidgetCreator();
+ ~KItemListWidgetCreator() override;
- virtual KItemListWidget* create(KItemListView* view) Q_DECL_OVERRIDE;
+ KItemListWidget* create(KItemListView* view) override;
- virtual void calculateItemSizeHints(QVector<qreal>& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const Q_DECL_OVERRIDE;
+ void calculateItemSizeHints(QVector<qreal>& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const override;
- virtual qreal preferredRoleColumnWidth(const QByteArray& role,
+ qreal preferredRoleColumnWidth(const QByteArray& role,
int index,
- const KItemListView* view) const Q_DECL_OVERRIDE;
+ const KItemListView* view) const override;
private:
KItemListWidgetInformant* m_informant;
};
class DOLPHIN_EXPORT KItemListGroupHeaderCreatorBase : public KItemListCreatorBase
{
public:
- virtual ~KItemListGroupHeaderCreatorBase();
+ ~KItemListGroupHeaderCreatorBase() override;
virtual KItemListGroupHeader* create(KItemListView* view) = 0;
virtual void recycle(KItemListGroupHeader* header);
};
class KItemListGroupHeaderCreator : public KItemListGroupHeaderCreatorBase
{
public:
- virtual ~KItemListGroupHeaderCreator();
- virtual KItemListGroupHeader* create(KItemListView* view) Q_DECL_OVERRIDE;
+ ~KItemListGroupHeaderCreator() override;
+ KItemListGroupHeader* create(KItemListView* view) override;
};
template <class T>
if (type == QAccessible::TableInterface) {
return static_cast<QAccessibleTableInterface*>(this);
}
- return Q_NULLPTR;
+ return nullptr;
}
void KItemListViewAccessible::modelReset()
QAccessibleInterface* KItemListViewAccessible::cell(int index) const
{
if (index < 0 || index >= view()->model()->count()) {
- return 0;
+ return nullptr;
}
if (m_cells.size() <= index) {
QAccessibleInterface* KItemListViewAccessible::caption() const
{
- return 0;
+ return nullptr;
}
QString KItemListViewAccessible::columnDescription(int) const
QAccessibleInterface* KItemListViewAccessible::summary() const
{
- return 0;
+ return nullptr;
}
bool KItemListViewAccessible::isColumnSelected(int) const
QAccessibleInterface* KItemListViewAccessible::parent() const
{
// FIXME: return KItemListContainerAccessible here
- return Q_NULLPTR;
+ return nullptr;
}
int KItemListViewAccessible::childCount() const
if (index >= 0 && index < childCount()) {
return cell(index);
}
- return Q_NULLPTR;
+ return nullptr;
}
// Table Cell
if (type == QAccessible::TableCellInterface) {
return static_cast<QAccessibleTableCellInterface*>(this);
}
- return Q_NULLPTR;
+ return nullptr;
}
int KItemListAccessibleCell::columnExtent() const
QAccessibleInterface* KItemListAccessibleCell::child(int) const
{
- return Q_NULLPTR;
+ return nullptr;
}
bool KItemListAccessibleCell::isValid() const
QAccessibleInterface* KItemListAccessibleCell::childAt(int, int) const
{
- return Q_NULLPTR;
+ return nullptr;
}
int KItemListAccessibleCell::childCount() const
QObject* KItemListAccessibleCell::object() const
{
- return 0;
+ return nullptr;
}
// Container Interface
if (index == 0) {
return QAccessible::queryAccessibleInterface(container()->controller()->view());
}
- return Q_NULLPTR;
+ return nullptr;
}
const KItemListContainer* KItemListContainerAccessible::container() const
{
public:
explicit KItemListViewAccessible(KItemListView* view);
- ~KItemListViewAccessible();
+ ~KItemListViewAccessible() override;
- void* interface_cast(QAccessible::InterfaceType type) Q_DECL_OVERRIDE;
+ void* interface_cast(QAccessible::InterfaceType type) override;
- QAccessible::Role role() const Q_DECL_OVERRIDE;
- QAccessible::State state() const Q_DECL_OVERRIDE;
- QString text(QAccessible::Text t) const Q_DECL_OVERRIDE;
- QRect rect() const Q_DECL_OVERRIDE;
+ QAccessible::Role role() const override;
+ QAccessible::State state() const override;
+ QString text(QAccessible::Text t) const override;
+ QRect rect() const override;
- QAccessibleInterface* child(int index) const Q_DECL_OVERRIDE;
- int childCount() const Q_DECL_OVERRIDE;
- int indexOfChild(const QAccessibleInterface*) const Q_DECL_OVERRIDE;
- QAccessibleInterface* childAt(int x, int y) const Q_DECL_OVERRIDE;
- QAccessibleInterface* parent() const Q_DECL_OVERRIDE;
+ QAccessibleInterface* child(int index) const override;
+ int childCount() const override;
+ int indexOfChild(const QAccessibleInterface*) const override;
+ QAccessibleInterface* childAt(int x, int y) const override;
+ QAccessibleInterface* parent() const override;
// Table interface
- virtual QAccessibleInterface* cellAt(int row, int column) const Q_DECL_OVERRIDE;
- virtual QAccessibleInterface* caption() const Q_DECL_OVERRIDE;
- virtual QAccessibleInterface* summary() const Q_DECL_OVERRIDE;
- virtual QString columnDescription(int column) const Q_DECL_OVERRIDE;
- virtual QString rowDescription(int row) const Q_DECL_OVERRIDE;
- virtual int columnCount() const Q_DECL_OVERRIDE;
- virtual int rowCount() const Q_DECL_OVERRIDE;
+ QAccessibleInterface* cellAt(int row, int column) const override;
+ QAccessibleInterface* caption() const override;
+ QAccessibleInterface* summary() const override;
+ QString columnDescription(int column) const override;
+ QString rowDescription(int row) const override;
+ int columnCount() const override;
+ int rowCount() const override;
// Selection
- virtual int selectedCellCount() const Q_DECL_OVERRIDE;
- virtual int selectedColumnCount() const Q_DECL_OVERRIDE;
- virtual int selectedRowCount() const Q_DECL_OVERRIDE;
- virtual QList<QAccessibleInterface*> selectedCells() const Q_DECL_OVERRIDE;
- virtual QList<int> selectedColumns() const Q_DECL_OVERRIDE;
- virtual QList<int> selectedRows() const Q_DECL_OVERRIDE;
- virtual bool isColumnSelected(int column) const Q_DECL_OVERRIDE;
- virtual bool isRowSelected(int row) const Q_DECL_OVERRIDE;
- virtual bool selectRow(int row) Q_DECL_OVERRIDE;
- virtual bool selectColumn(int column) Q_DECL_OVERRIDE;
- virtual bool unselectRow(int row) Q_DECL_OVERRIDE;
- virtual bool unselectColumn(int column) Q_DECL_OVERRIDE;
- virtual void modelChange(QAccessibleTableModelChangeEvent*) Q_DECL_OVERRIDE;
+ int selectedCellCount() const override;
+ int selectedColumnCount() const override;
+ int selectedRowCount() const override;
+ QList<QAccessibleInterface*> selectedCells() const override;
+ QList<int> selectedColumns() const override;
+ QList<int> selectedRows() const override;
+ bool isColumnSelected(int column) const override;
+ bool isRowSelected(int row) const override;
+ bool selectRow(int row) override;
+ bool selectColumn(int column) override;
+ bool unselectRow(int row) override;
+ bool unselectColumn(int column) override;
+ void modelChange(QAccessibleTableModelChangeEvent*) override;
KItemListView* view() const;
public:
KItemListAccessibleCell(KItemListView* view, int m_index);
- void* interface_cast(QAccessible::InterfaceType type) Q_DECL_OVERRIDE;
- QObject* object() const Q_DECL_OVERRIDE;
- bool isValid() const Q_DECL_OVERRIDE;
- QAccessible::Role role() const Q_DECL_OVERRIDE;
- QAccessible::State state() const Q_DECL_OVERRIDE;
- QRect rect() const Q_DECL_OVERRIDE;
- QString text(QAccessible::Text t) const Q_DECL_OVERRIDE;
- void setText(QAccessible::Text t, const QString& text) Q_DECL_OVERRIDE;
-
- QAccessibleInterface* child(int index) const Q_DECL_OVERRIDE;
- int childCount() const Q_DECL_OVERRIDE;
- QAccessibleInterface* childAt(int x, int y) const Q_DECL_OVERRIDE;
- int indexOfChild(const QAccessibleInterface*) const Q_DECL_OVERRIDE;
-
- QAccessibleInterface* parent() const Q_DECL_OVERRIDE;
+ void* interface_cast(QAccessible::InterfaceType type) override;
+ QObject* object() const override;
+ bool isValid() const override;
+ QAccessible::Role role() const override;
+ QAccessible::State state() const override;
+ QRect rect() const override;
+ QString text(QAccessible::Text t) const override;
+ void setText(QAccessible::Text t, const QString& text) override;
+
+ QAccessibleInterface* child(int index) const override;
+ int childCount() const override;
+ QAccessibleInterface* childAt(int x, int y) const override;
+ int indexOfChild(const QAccessibleInterface*) const override;
+
+ QAccessibleInterface* parent() const override;
bool isExpandable() const;
// Cell Interface
- virtual int columnExtent() const Q_DECL_OVERRIDE;
- virtual QList<QAccessibleInterface*> columnHeaderCells() const Q_DECL_OVERRIDE;
- virtual int columnIndex() const Q_DECL_OVERRIDE;
- virtual int rowExtent() const Q_DECL_OVERRIDE;
- virtual QList<QAccessibleInterface*> rowHeaderCells() const Q_DECL_OVERRIDE;
- virtual int rowIndex() const Q_DECL_OVERRIDE;
- virtual bool isSelected() const Q_DECL_OVERRIDE;
- virtual QAccessibleInterface* table() const Q_DECL_OVERRIDE;
+ int columnExtent() const override;
+ QList<QAccessibleInterface*> columnHeaderCells() const override;
+ int columnIndex() const override;
+ int rowExtent() const override;
+ QList<QAccessibleInterface*> rowHeaderCells() const override;
+ int rowIndex() const override;
+ bool isSelected() const override;
+ QAccessibleInterface* table() const override;
inline int index() const;
{
public:
explicit KItemListContainerAccessible(KItemListContainer* container);
- virtual ~KItemListContainerAccessible();
+ ~KItemListContainerAccessible() override;
- QAccessibleInterface* child(int index) const Q_DECL_OVERRIDE;
- int childCount() const Q_DECL_OVERRIDE;
- int indexOfChild(const QAccessibleInterface* child) const Q_DECL_OVERRIDE;
+ QAccessibleInterface* child(int index) const override;
+ int childCount() const override;
+ int indexOfChild(const QAccessibleInterface* child) const override;
private:
const KItemListContainer* container() const;
}
KItemListWidget::KItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent) :
- QGraphicsWidget(parent, 0),
+ QGraphicsWidget(parent, nullptr),
m_informant(informant),
m_index(-1),
m_selected(false),
m_styleOption(),
m_siblingsInfo(),
m_hoverOpacity(0),
- m_hoverCache(0),
- m_hoverAnimation(0),
- m_selectionToggle(0),
+ m_hoverCache(nullptr),
+ m_hoverAnimation(nullptr),
+ m_selectionToggle(nullptr),
m_editedRole()
{
}
{
if (m_index != index) {
delete m_selectionToggle;
- m_selectionToggle = 0;
+ m_selectionToggle = nullptr;
if (m_hoverAnimation) {
m_hoverAnimation->stop();
{
if (!m_hovered && m_selectionToggle) {
m_selectionToggle->deleteLater();
- m_selectionToggle = 0;
+ m_selectionToggle = nullptr;
}
}
if (m_hoverOpacity <= 0.0) {
delete m_hoverCache;
- m_hoverCache = 0;
+ m_hoverCache = nullptr;
}
update();
void KItemListWidget::clearHoverCache()
{
delete m_hoverCache;
- m_hoverCache = 0;
+ m_hoverCache = nullptr;
}
void KItemListWidget::drawItemStyleOption(QPainter* painter, QWidget* widget, QStyle::State styleState)
public:
KItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent);
- virtual ~KItemListWidget();
+ ~KItemListWidget() override;
void setIndex(int index);
int index() const;
* to show the data of the custom model provided by KItemListWidget::data().
* @reimp
*/
- virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_OVERRIDE;
+ void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
void setVisibleRoles(const QList<QByteArray>& roles);
QList<QByteArray> visibleRoles() const;
* or KItemListWidget::expansionToggleRect().
* @reimp
*/
- virtual bool contains(const QPointF& point) const override;
+ bool contains(const QPointF& point) const override;
/**
* @return Rectangle for the area that shows the icon.
* @return Pixmap that is used when dragging an item. Per default the current state of the
* widget is returned as pixmap.
*/
- virtual QPixmap createDragPixmap(const QStyleOptionGraphicsItem* option, QWidget* widget = 0);
+ virtual QPixmap createDragPixmap(const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr);
signals:
void roleEditingCanceled(int index, const QByteArray& role, const QVariant& value);
virtual void alternateBackgroundChanged(bool enabled);
virtual void siblingsInformationChanged(const QBitArray& current, const QBitArray& previous);
virtual void editedRoleChanged(const QByteArray& current, const QByteArray& previous);
- virtual void resizeEvent(QGraphicsSceneResizeEvent* event) Q_DECL_OVERRIDE;
+ void resizeEvent(QGraphicsSceneResizeEvent* event) override;
/**
* @return The current opacity of the hover-animation. When implementing a custom painting-code for a hover-state
QMimeData* KItemModelBase::createMimeData(const KItemSet& indexes) const
{
Q_UNUSED(indexes);
- return 0;
+ return nullptr;
}
int KItemModelBase::indexForKeyboardSearch(const QString& text, int startFromIndex) const
Q_OBJECT
public:
- KItemModelBase(QObject* parent = 0);
- explicit KItemModelBase(const QByteArray& sortRole, QObject* parent = 0);
- virtual ~KItemModelBase();
+ KItemModelBase(QObject* parent = nullptr);
+ explicit KItemModelBase(const QByteArray& sortRole, QObject* parent = nullptr);
+ ~KItemModelBase() override;
/** @return The number of items. */
virtual int count() const = 0;
KStandardItem::KStandardItem(KStandardItem* parent) :
m_parent(parent),
m_children(),
- m_model(0),
+ m_model(nullptr),
m_data()
{
}
KStandardItem::KStandardItem(const QString& text, KStandardItem* parent) :
m_parent(parent),
m_children(),
- m_model(0),
+ m_model(nullptr),
m_data()
{
setText(text);
KStandardItem::KStandardItem(const QString& icon, const QString& text, KStandardItem* parent) :
m_parent(parent),
m_children(),
- m_model(0),
+ m_model(nullptr),
m_data()
{
setIcon(icon);
{
public:
- explicit KStandardItem(KStandardItem* parent = 0);
- explicit KStandardItem(const QString& text, KStandardItem* parent = 0);
- KStandardItem(const QString& icon, const QString& text, KStandardItem* parent = 0);
+ explicit KStandardItem(KStandardItem* parent = nullptr);
+ explicit KStandardItem(const QString& text, KStandardItem* parent = nullptr);
+ KStandardItem(const QString& icon, const QString& text, KStandardItem* parent = nullptr);
KStandardItem(const KStandardItem& item);
virtual ~KStandardItem();
Q_OBJECT
public:
- KStandardItemListGroupHeader(QGraphicsWidget* parent = 0);
- virtual ~KStandardItemListGroupHeader();
+ KStandardItemListGroupHeader(QGraphicsWidget* parent = nullptr);
+ ~KStandardItemListGroupHeader() override;
- virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_OVERRIDE;
+ void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
protected:
- virtual void paintRole(QPainter* painter, const QRectF& roleBounds, const QColor& color) Q_DECL_OVERRIDE;
- virtual void paintSeparator(QPainter* painter, const QColor& color) Q_DECL_OVERRIDE;
- virtual void roleChanged(const QByteArray ¤t, const QByteArray &previous) Q_DECL_OVERRIDE;
- virtual void dataChanged(const QVariant& current, const QVariant& previous) Q_DECL_OVERRIDE;
- virtual void resizeEvent(QGraphicsSceneResizeEvent* event) Q_DECL_OVERRIDE;
+ void paintRole(QPainter* painter, const QRectF& roleBounds, const QColor& color) override;
+ void paintSeparator(QPainter* painter, const QColor& color) override;
+ void roleChanged(const QByteArray ¤t, const QByteArray &previous) override;
+ void dataChanged(const QVariant& current, const QVariant& previous) override;
+ void resizeEvent(QGraphicsSceneResizeEvent* event) override;
private:
void updateCache();
DetailsLayout
};
- KStandardItemListView(QGraphicsWidget* parent = 0);
- virtual ~KStandardItemListView();
+ KStandardItemListView(QGraphicsWidget* parent = nullptr);
+ ~KStandardItemListView() override;
void setItemLayout(ItemLayout layout);
ItemLayout itemLayout() const;
protected:
- virtual KItemListWidgetCreatorBase* defaultWidgetCreator() const Q_DECL_OVERRIDE;
- virtual KItemListGroupHeaderCreatorBase* defaultGroupHeaderCreator() const Q_DECL_OVERRIDE;
- virtual void initializeItemListWidget(KItemListWidget* item) Q_DECL_OVERRIDE;
- virtual bool itemSizeHintUpdateRequired(const QSet<QByteArray>& changedRoles) const Q_DECL_OVERRIDE;
+ KItemListWidgetCreatorBase* defaultWidgetCreator() const override;
+ KItemListGroupHeaderCreatorBase* defaultGroupHeaderCreator() const override;
+ void initializeItemListWidget(KItemListWidget* item) override;
+ bool itemSizeHintUpdateRequired(const QSet<QByteArray>& changedRoles) const override;
virtual bool itemLayoutSupportsItemExpanding(ItemLayout layout) const;
virtual void onItemLayoutChanged(ItemLayout current, ItemLayout previous);
- virtual void onScrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous) Q_DECL_OVERRIDE;
- virtual void onSupportsItemExpandingChanged(bool supportsExpanding) Q_DECL_OVERRIDE;
- virtual void polishEvent() Q_DECL_OVERRIDE;
+ void onScrollOrientationChanged(Qt::Orientation current, Qt::Orientation previous) override;
+ void onSupportsItemExpandingChanged(bool supportsExpanding) override;
+ void polishEvent() override;
private:
void applyDefaultStyleOption(int iconSize, int padding, int horizontalMargin, int verticalMargin);
m_additionalInfoTextColor(),
m_overlay(),
m_rating(),
- m_roleEditor(0),
- m_oldRoleEditor(0)
+ m_roleEditor(nullptr),
+ m_oldRoleEditor(nullptr)
{
}
}
m_oldRoleEditor = m_roleEditor;
m_roleEditor->hide();
- m_roleEditor = 0;
+ m_roleEditor = nullptr;
}
return;
}
}
m_oldRoleEditor = m_roleEditor;
m_roleEditor->hide();
- m_roleEditor = 0;
+ m_roleEditor = nullptr;
}
QPixmap KStandardItemListWidget::pixmapForIcon(const QString& name, const QStringList& overlays, int size, QIcon::Mode mode)
{
public:
KStandardItemListWidgetInformant();
- virtual ~KStandardItemListWidgetInformant();
+ ~KStandardItemListWidgetInformant() override;
- virtual void calculateItemSizeHints(QVector<qreal>& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const Q_DECL_OVERRIDE;
+ void calculateItemSizeHints(QVector<qreal>& logicalHeightHints, qreal& logicalWidthHint, const KItemListView* view) const override;
- virtual qreal preferredRoleColumnWidth(const QByteArray& role,
+ qreal preferredRoleColumnWidth(const QByteArray& role,
int index,
- const KItemListView* view) const Q_DECL_OVERRIDE;
+ const KItemListView* view) const override;
protected:
/**
* @return The value of the "text" role. The default implementation returns
};
KStandardItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent);
- virtual ~KStandardItemListWidget();
+ ~KStandardItemListWidget() override;
void setLayout(Layout layout);
Layout layout() const;
void setSupportsItemExpanding(bool supportsItemExpanding);
bool supportsItemExpanding() const;
- virtual void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0) override;
+ void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
- virtual QRectF iconRect() const Q_DECL_OVERRIDE;
- virtual QRectF textRect() const Q_DECL_OVERRIDE;
- virtual QRectF textFocusRect() const Q_DECL_OVERRIDE;
- virtual QRectF selectionRect() const Q_DECL_OVERRIDE;
- virtual QRectF expansionToggleRect() const Q_DECL_OVERRIDE;
- virtual QRectF selectionToggleRect() const Q_DECL_OVERRIDE;
- virtual QPixmap createDragPixmap(const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_OVERRIDE;
+ QRectF iconRect() const override;
+ QRectF textRect() const override;
+ QRectF textFocusRect() const override;
+ QRectF selectionRect() const override;
+ QRectF expansionToggleRect() const override;
+ QRectF selectionToggleRect() const override;
+ QPixmap createDragPixmap(const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
static KItemListWidgetInformant* createInformant();
*/
virtual int selectionLength(const QString& text) const;
- virtual void dataChanged(const QHash<QByteArray, QVariant>& current, const QSet<QByteArray>& roles = QSet<QByteArray>()) Q_DECL_OVERRIDE;
- virtual void visibleRolesChanged(const QList<QByteArray>& current, const QList<QByteArray>& previous) Q_DECL_OVERRIDE;
- virtual void columnWidthChanged(const QByteArray& role, qreal current, qreal previous) Q_DECL_OVERRIDE;
- virtual void styleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous) Q_DECL_OVERRIDE;
- virtual void hoveredChanged(bool hovered) Q_DECL_OVERRIDE;
- virtual void selectedChanged(bool selected) Q_DECL_OVERRIDE;
- virtual void siblingsInformationChanged(const QBitArray& current, const QBitArray& previous) Q_DECL_OVERRIDE;
- virtual void editedRoleChanged(const QByteArray& current, const QByteArray& previous) Q_DECL_OVERRIDE;
- virtual void resizeEvent(QGraphicsSceneResizeEvent* event) Q_DECL_OVERRIDE;
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
- virtual void hideEvent(QHideEvent* event) Q_DECL_OVERRIDE;
- bool event(QEvent *event) Q_DECL_OVERRIDE;
+ void dataChanged(const QHash<QByteArray, QVariant>& current, const QSet<QByteArray>& roles = QSet<QByteArray>()) override;
+ void visibleRolesChanged(const QList<QByteArray>& current, const QList<QByteArray>& previous) override;
+ void columnWidthChanged(const QByteArray& role, qreal current, qreal previous) override;
+ void styleOptionChanged(const KItemListStyleOption& current, const KItemListStyleOption& previous) override;
+ void hoveredChanged(bool hovered) override;
+ void selectedChanged(bool selected) override;
+ void siblingsInformationChanged(const QBitArray& current, const QBitArray& previous) override;
+ void editedRoleChanged(const QByteArray& current, const QByteArray& previous) override;
+ void resizeEvent(QGraphicsSceneResizeEvent* event) override;
+ void showEvent(QShowEvent* event) override;
+ void hideEvent(QHideEvent* event) override;
+ bool event(QEvent *event) override;
+
+public slots:
+ void finishRoleEditing();
public slots:
void finishRoleEditing();
m_indexesForItems.remove(oldItem);
delete oldItem;
- oldItem = 0;
+ oldItem = nullptr;
m_items[index] = item;
m_indexesForItems.insert(item, index);
onItemRemoved(index, item);
delete item;
- item = 0;
+ item = nullptr;
emit itemsRemoved(KItemRangeList() << KItemRange(index, 1));
KStandardItem* KStandardItemModel::item(int index) const
{
if (index < 0 || index >= m_items.count()) {
- return 0;
+ return nullptr;
}
return m_items[index];
}
QMimeData* KStandardItemModel::createMimeData(const KItemSet& indexes) const
{
Q_UNUSED(indexes);
- return 0;
+ return nullptr;
}
int KStandardItemModel::indexForKeyboardSearch(const QString& text, int startFromIndex) const
Q_OBJECT
public:
- explicit KStandardItemModel(QObject* parent = 0);
- virtual ~KStandardItemModel();
+ explicit KStandardItemModel(QObject* parent = nullptr);
+ ~KStandardItemModel() override;
/**
* Inserts the item \a item at the index \a index. If the index
*/
void appendItem(KStandardItem* item);
- virtual int count() const Q_DECL_OVERRIDE;
- virtual QHash<QByteArray, QVariant> data(int index) const Q_DECL_OVERRIDE;
- virtual bool setData(int index, const QHash<QByteArray, QVariant>& values) Q_DECL_OVERRIDE;
- virtual QMimeData* createMimeData(const KItemSet& indexes) const Q_DECL_OVERRIDE;
- virtual int indexForKeyboardSearch(const QString& text, int startFromIndex = 0) const Q_DECL_OVERRIDE;
- virtual bool supportsDropping(int index) const Q_DECL_OVERRIDE;
- virtual QString roleDescription(const QByteArray& role) const Q_DECL_OVERRIDE;
- virtual QList<QPair<int, QVariant> > groups() const Q_DECL_OVERRIDE;
+ int count() const override;
+ QHash<QByteArray, QVariant> data(int index) const override;
+ bool setData(int index, const QHash<QByteArray, QVariant>& values) override;
+ QMimeData* createMimeData(const KItemSet& indexes) const override;
+ int indexForKeyboardSearch(const QString& text, int startFromIndex = 0) const override;
+ bool supportsDropping(int index) const override;
+ QString roleDescription(const QByteArray& role) const override;
+ QList<QPair<int, QVariant> > groups() const override;
virtual void clear();
protected:
QObject(parent),
m_model(model),
m_queue(),
- m_worker(0),
+ m_worker(nullptr),
m_workerIsBusy(false),
- m_dirWatcher(0),
+ m_dirWatcher(nullptr),
m_watchedDirs()
{
connect(m_model, &KFileItemModel::itemsRemoved,
m_workerThread->quit();
m_workerThread->wait();
delete m_workerThread;
- m_workerThread = 0;
+ m_workerThread = nullptr;
// The worker thread has finished running now, so it's safe to delete
// m_worker. deleteLater() would not work at all because the event loop
}
}
-QThread* KDirectoryContentsCounter::m_workerThread = 0;
+QThread* KDirectoryContentsCounter::m_workerThread = nullptr;
int KDirectoryContentsCounter::m_workersCount = 0;
Q_OBJECT
public:
- explicit KDirectoryContentsCounter(KFileItemModel* model, QObject* parent = 0);
- ~KDirectoryContentsCounter();
+ explicit KDirectoryContentsCounter(KFileItemModel* model, QObject* parent = nullptr);
+ ~KDirectoryContentsCounter() override;
/**
* Requests the number of items inside the directory \a path. The actual
DIR* dir = ::opendir(QFile::encodeName(path));
if (dir) { // krazy:exclude=syscalls
count = 0;
- struct dirent *dirEntry = 0;
+ struct dirent *dirEntry = nullptr;
while ((dirEntry = ::readdir(dir))) {
if (dirEntry->d_name[0] == '.') {
if (dirEntry->d_name[1] == '\0' || !countHiddenFiles) {
};
Q_DECLARE_FLAGS(Options, Option)
- explicit KDirectoryContentsCounterWorker(QObject* parent = 0);
+ explicit KDirectoryContentsCounterWorker(QObject* parent = nullptr);
/**
* Counts the items inside the directory \a path using the options
}
KFileItemClipboard::KFileItemClipboard() :
- QObject(0),
+ QObject(nullptr),
m_cutItems()
{
updateCutItems();
void cutItemsChanged();
protected:
- virtual ~KFileItemClipboard();
+ ~KFileItemClipboard() override;
private slots:
void updateCutItems();
KFileItemModelDirLister::KFileItemModelDirLister(QObject* parent) :
KDirLister(parent)
{
- setAutoErrorHandlingEnabled(false, 0);
+ setAutoErrorHandlingEnabled(false, nullptr);
}
KFileItemModelDirLister::~KFileItemModelDirLister()
Q_OBJECT
public:
- KFileItemModelDirLister(QObject* parent = 0);
- virtual ~KFileItemModelDirLister();
+ KFileItemModelDirLister(QObject* parent = nullptr);
+ ~KFileItemModelDirLister() override;
signals:
/** Is emitted whenever an error has occurred. */
void urlIsFileError(const QUrl& url);
protected:
- void handleError(KIO::Job* job) Q_DECL_OVERRIDE;
+ void handleError(KIO::Job* job) override;
};
#endif
KFileItemModelFilter::KFileItemModelFilter() :
m_useRegExp(false),
- m_regExp(0),
+ m_regExp(nullptr),
m_lowerCasePattern(),
m_pattern()
{
KFileItemModelFilter::~KFileItemModelFilter()
{
delete m_regExp;
- m_regExp = 0;
+ m_regExp = nullptr;
}
void KFileItemModelFilter::setPattern(const QString& filter)
KItemListHeaderWidget::KItemListHeaderWidget(QGraphicsWidget* parent) :
QGraphicsWidget(parent),
m_automaticColumnResizing(true),
- m_model(0),
+ m_model(nullptr),
m_offset(0),
m_columns(),
m_columnWidths(),
Q_OBJECT
public:
- KItemListHeaderWidget(QGraphicsWidget* parent = 0);
- virtual ~KItemListHeaderWidget();
+ KItemListHeaderWidget(QGraphicsWidget* parent = nullptr);
+ ~KItemListHeaderWidget() override;
void setModel(KItemModelBase* model);
KItemModelBase* model() const;
qreal minimumColumnWidth() const;
- void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_OVERRIDE;
+ void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
signals:
/**
void sortRoleChanged(const QByteArray& current, const QByteArray& previous);
protected:
- void mousePressEvent(QGraphicsSceneMouseEvent* event) Q_DECL_OVERRIDE;
- void mouseReleaseEvent(QGraphicsSceneMouseEvent* event) Q_DECL_OVERRIDE;
- void mouseMoveEvent(QGraphicsSceneMouseEvent* event) Q_DECL_OVERRIDE;
- void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) Q_DECL_OVERRIDE;
- void hoverEnterEvent(QGraphicsSceneHoverEvent* event) Q_DECL_OVERRIDE;
- void hoverLeaveEvent(QGraphicsSceneHoverEvent* event) Q_DECL_OVERRIDE;
- void hoverMoveEvent(QGraphicsSceneHoverEvent* event) Q_DECL_OVERRIDE;
+ void mousePressEvent(QGraphicsSceneMouseEvent* event) override;
+ void mouseReleaseEvent(QGraphicsSceneMouseEvent* event) override;
+ void mouseMoveEvent(QGraphicsSceneMouseEvent* event) override;
+ void mouseDoubleClickEvent(QGraphicsSceneMouseEvent* event) override;
+ void hoverEnterEvent(QGraphicsSceneHoverEvent* event) override;
+ void hoverLeaveEvent(QGraphicsSceneHoverEvent* event) override;
+ void hoverMoveEvent(QGraphicsSceneHoverEvent* event) override;
private slots:
void slotSortRoleChanged(const QByteArray& current, const QByteArray& previous);
const QByteArray& role,
const QRectF& rect,
int orderIndex,
- QWidget* widget = 0) const;
+ QWidget* widget = nullptr) const;
void updatePressedRoleIndex(const QPointF& pos);
void updateHoveredRoleIndex(const QPointF& pos);
public:
- KItemListKeyboardSearchManager(QObject* parent = 0);
- virtual ~KItemListKeyboardSearchManager();
+ KItemListKeyboardSearchManager(QObject* parent = nullptr);
+ ~KItemListKeyboardSearchManager() override;
/**
* Add \a keys to the text buffer used for searching.
public:
explicit KItemListRoleEditor(QWidget* parent);
- virtual ~KItemListRoleEditor();
+ ~KItemListRoleEditor() override;
void setRole(const QByteArray& role);
QByteArray role() const;
- bool eventFilter(QObject* watched, QEvent* event) Q_DECL_OVERRIDE;
+ bool eventFilter(QObject* watched, QEvent* event) override;
signals:
void roleEditingFinished(const QByteArray& role, const QVariant& value);
void roleEditingCanceled(const QByteArray& role, const QVariant& value);
protected:
- bool event(QEvent* event) Q_DECL_OVERRIDE;
- void keyPressEvent(QKeyEvent* event) Q_DECL_OVERRIDE;
+ bool event(QEvent* event) override;
+ void keyPressEvent(QKeyEvent* event) override;
private slots:
/**
Q_OBJECT
public:
- explicit KItemListRubberBand(QObject* parent = 0);
- virtual ~KItemListRubberBand();
+ explicit KItemListRubberBand(QObject* parent = nullptr);
+ ~KItemListRubberBand() override;
void setStartPosition(const QPointF& pos);
QPointF startPosition() const;
KItemListSelectionToggle::KItemListSelectionToggle(QGraphicsItem* parent) :
- QGraphicsWidget(parent, 0),
+ QGraphicsWidget(parent, nullptr),
m_checked(false),
m_hovered(false)
{
public:
KItemListSelectionToggle(QGraphicsItem* parent);
- virtual ~KItemListSelectionToggle();
+ ~KItemListSelectionToggle() override;
void setChecked(bool checked);
bool isChecked() const;
void setHovered(bool hovered);
- void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = 0) Q_DECL_OVERRIDE;
+ void paint(QPainter* painter, const QStyleOptionGraphicsItem* option, QWidget* widget = nullptr) override;
protected:
- void resizeEvent(QGraphicsSceneResizeEvent* event) Q_DECL_OVERRIDE;
+ void resizeEvent(QGraphicsSceneResizeEvent* event) override;
private:
void updatePixmap();
m_scrollBarPressed(false),
m_smoothScrolling(true),
m_scrollBar(scrollBar),
- m_animation(0)
+ m_animation(nullptr)
{
m_animation = new QPropertyAnimation(this);
const int duration = m_scrollBar->style()->styleHint(QStyle::SH_Widget_Animate, nullptr, m_scrollBar) ? 100 : 1;
public:
explicit KItemListSmoothScroller(QScrollBar* scrollBar,
- QObject* parent = 0);
- virtual ~KItemListSmoothScroller();
+ QObject* parent = nullptr);
+ ~KItemListSmoothScroller() override;
void setScrollBar(QScrollBar* scrollBar);
QScrollBar* scrollBar() const;
void handleWheelEvent(QWheelEvent* event);
protected:
- bool eventFilter(QObject* obj, QEvent* event) Q_DECL_OVERRIDE;
+ bool eventFilter(QObject* obj, QEvent* event) override;
private slots:
void slotAnimationStateChanged(QAbstractAnimation::State newState,
{
stop(widget, type);
- QPropertyAnimation* propertyAnim = 0;
+ QPropertyAnimation* propertyAnim = nullptr;
const int animationDuration = widget->style()->styleHint(QStyle::SH_Widget_Animate) ? 200 : 1;
switch (type) {
ResizeAnimation
};
- KItemListViewAnimation(QObject* parent = 0);
- virtual ~KItemListViewAnimation();
+ KItemListViewAnimation(QObject* parent = nullptr);
+ ~KItemListViewAnimation() override;
void setScrollOrientation(Qt::Orientation orientation);
Qt::Orientation scrollOrientation() const;
m_itemSize(128, 128),
m_itemMargin(),
m_headerHeight(0),
- m_model(0),
+ m_model(nullptr),
m_sizeHintResolver(sizeHintResolver),
m_scrollOffset(0),
m_maximumScrollOffset(0),
Q_OBJECT
public:
- KItemListViewLayouter(KItemListSizeHintResolver* sizeHintResolver, QObject* parent = 0);
- virtual ~KItemListViewLayouter();
+ KItemListViewLayouter(KItemListSizeHintResolver* sizeHintResolver, QObject* parent = nullptr);
+ ~KItemListViewLayouter() override;
void setScrollOrientation(Qt::Orientation orientation);
Qt::Orientation scrollOrientation() const;
public:
FoldersItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent);
- virtual ~FoldersItemListWidget();
+ ~FoldersItemListWidget() override;
protected:
- virtual QPalette::ColorRole normalTextColorRole() const Q_DECL_OVERRIDE;
+ QPalette::ColorRole normalTextColorRole() const override;
};
#endif
public:
explicit FoldersPanel(QWidget* parent = nullptr);
- virtual ~FoldersPanel();
+ ~FoldersPanel() override;
void setShowHiddenFiles(bool show);
void setLimitFoldersPanelToHome(bool enable);
protected:
/** @see Panel::urlChanged() */
- virtual bool urlChanged() Q_DECL_OVERRIDE;
+ bool urlChanged() override;
/** @see QWidget::showEvent() */
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
+ void showEvent(QShowEvent* event) override;
/** @see QWidget::keyPressEvent() */
- virtual void keyPressEvent(QKeyEvent* event) Q_DECL_OVERRIDE;
+ void keyPressEvent(QKeyEvent* event) override;
private slots:
void slotItemActivated(int index);
TreeViewContextMenu(FoldersPanel* parent,
const KFileItem& fileInfo);
- virtual ~TreeViewContextMenu();
+ ~TreeViewContextMenu() override;
/** Opens the context menu modal. */
void open();
Q_OBJECT
public:
- explicit FileMetaDataConfigurationDialog(QWidget* parent = 0);
- virtual ~FileMetaDataConfigurationDialog();
+ explicit FileMetaDataConfigurationDialog(QWidget* parent = nullptr);
+ ~FileMetaDataConfigurationDialog() override;
/**
* Sets the items, for which the visibility of the meta data should
void InformationPanel::slotFolderStatFinished(KJob* job)
{
- m_folderStatJob = 0;
+ m_folderStatJob = nullptr;
const KIO::UDSEntry entry = static_cast<KIO::StatJob*>(job)->statResult();
m_content->showItem(KFileItem(entry, m_shownUrl));
}
void InformationPanel::cancelRequest()
{
delete m_folderStatJob;
- m_folderStatJob = 0;
+ m_folderStatJob = nullptr;
m_infoTimer->stop();
m_resetUrlTimer->stop();
public:
explicit InformationPanel(QWidget* parent = nullptr);
- virtual ~InformationPanel();
+ ~InformationPanel() override;
signals:
void urlActivated(const QUrl& url);
protected:
/** @see Panel::urlChanged() */
- virtual bool urlChanged() Q_DECL_OVERRIDE;
+ bool urlChanged() override;
/** @see QWidget::showEvent() */
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
+ void showEvent(QShowEvent* event) override;
/** @see QWidget::resizeEvent() */
- virtual void resizeEvent(QResizeEvent* event) Q_DECL_OVERRIDE;
+ void resizeEvent(QResizeEvent* event) override;
/** @see QWidget::contextMenuEvent() */
- virtual void contextMenuEvent(QContextMenuEvent* event) Q_DECL_OVERRIDE;
+ void contextMenuEvent(QContextMenuEvent* event) override;
private slots:
/**
InformationPanelContent::InformationPanelContent(QWidget* parent) :
QWidget(parent),
m_item(),
- m_previewJob(0),
- m_outdatedPreviewTimer(0),
- m_preview(0),
- m_phononWidget(0),
- m_nameLabel(0),
- m_metaDataWidget(0),
- m_metaDataArea(0),
- m_placesItemModel(0)
+ m_previewJob(nullptr),
+ m_outdatedPreviewTimer(nullptr),
+ m_preview(nullptr),
+ m_phononWidget(nullptr),
+ m_nameLabel(nullptr),
+ m_metaDataWidget(nullptr),
+ m_metaDataArea(nullptr),
+ m_placesItemModel(nullptr)
{
parent->installEventFilter(this);
Q_OBJECT
public:
- explicit InformationPanelContent(QWidget* parent = 0);
- virtual ~InformationPanelContent();
+ explicit InformationPanelContent(QWidget* parent = nullptr);
+ ~InformationPanelContent() override;
/**
* Shows the meta information for the item \p item.
protected:
/** @see QObject::eventFilter() */
- virtual bool eventFilter(QObject* obj, QEvent* event) Q_DECL_OVERRIDE;
+ bool eventFilter(QObject* obj, QEvent* event) override;
private slots:
/**
updateGeometry();
}
- QSize sizeHint() const Q_DECL_OVERRIDE
+ QSize sizeHint() const override
{
return m_sizeHint.isValid() ? m_sizeHint : Phonon::VideoWidget::sizeHint();
}
{
Q_OBJECT
public:
- PhononWidget(QWidget *parent = 0);
+ PhononWidget(QWidget *parent = nullptr);
void setUrl(const QUrl &url);
QUrl url() const;
void hasVideoChanged(bool hasVideo);
protected:
- virtual void showEvent(QShowEvent *event) Q_DECL_OVERRIDE;
- virtual void hideEvent(QHideEvent *event) Q_DECL_OVERRIDE;
+ void showEvent(QShowEvent *event) override;
+ void hideEvent(QHideEvent *event) override;
private slots:
void stateChanged(Phonon::State);
explicit PixmapViewer(QWidget* parent,
Transition transition = DefaultTransition);
- virtual ~PixmapViewer();
+ ~PixmapViewer() override;
void setPixmap(const QPixmap& pixmap);
QPixmap pixmap() const;
* of the parent widget. Per default no size hint is given.
*/
void setSizeHint(const QSize& size);
- virtual QSize sizeHint() const Q_DECL_OVERRIDE;
+ QSize sizeHint() const override;
protected:
- virtual void paintEvent(QPaintEvent* event) Q_DECL_OVERRIDE;
+ void paintEvent(QPaintEvent* event) override;
private Q_SLOTS:
void checkPendingPixmaps();
Q_OBJECT
public:
- explicit Panel(QWidget* parent = 0);
- virtual ~Panel();
+ explicit Panel(QWidget* parent = nullptr);
+ ~Panel() override;
/** Returns the current set URL of the active Dolphin view. */
QUrl url() const;
void setCustomContextMenuActions(const QList<QAction*>& actions);
QList<QAction*> customContextMenuActions() const;
- virtual QSize sizeHint() const Q_DECL_OVERRIDE;
+ QSize sizeHint() const override;
public slots:
/**
// watches for changes if the number of items has been changed.
// The update of the icon is handled in onTrashDirListerCompleted().
m_trashDirLister = new KDirLister();
- m_trashDirLister->setAutoErrorHandlingEnabled(false, 0);
+ m_trashDirLister->setAutoErrorHandlingEnabled(false, nullptr);
m_trashDirLister->setDelayedMimeTypes(true);
QObject::connect(m_trashDirLister.data(), static_cast<void(KDirLister::*)()>(&KDirLister::completed),
m_signalHandler.data(), &PlacesItemSignalHandler::onTrashDirListerCompleted);
DevicesType
};
- explicit PlacesItem(const KBookmark& bookmark, PlacesItem* parent = 0);
- virtual ~PlacesItem();
+ explicit PlacesItem(const KBookmark& bookmark, PlacesItem* parent = nullptr);
+ ~PlacesItem() override;
void setUrl(const QUrl& url);
QUrl url() const;
PlacesItemSignalHandler* signalHandler() const;
protected:
- virtual void onDataValueChanged(const QByteArray& role,
+ void onDataValueChanged(const QByteArray& role,
const QVariant& current,
- const QVariant& previous) Q_DECL_OVERRIDE;
+ const QVariant& previous) override;
- virtual void onDataChanged(const QHash<QByteArray, QVariant>& current,
- const QHash<QByteArray, QVariant>& previous) Q_DECL_OVERRIDE;
+ void onDataChanged(const QHash<QByteArray, QVariant>& current,
+ const QHash<QByteArray, QVariant>& previous) override;
private:
PlacesItem(const PlacesItem& item);
m_text(),
m_url(),
m_allowGlobal(false),
- m_urlEdit(0),
- m_textEdit(0),
- m_iconButton(0),
- m_appLocal(0),
+ m_urlEdit(nullptr),
+ m_textEdit(nullptr),
+ m_iconButton(nullptr),
+ m_appLocal(nullptr),
m_buttonBox(nullptr)
{
}
Q_OBJECT
public:
- explicit PlacesItemEditDialog(QWidget* parent = 0);
- virtual ~PlacesItemEditDialog();
+ explicit PlacesItemEditDialog(QWidget* parent = nullptr);
+ ~PlacesItemEditDialog() override;
void setIcon(const QString& icon);
QString icon() const;
bool allowGlobal() const;
protected:
- virtual bool event(QEvent* event) Q_DECL_OVERRIDE;
+ bool event(QEvent* event) override;
private slots:
void slotUrlChanged(const QString& text);
Q_OBJECT
public:
- PlacesItemListGroupHeader(QGraphicsWidget* parent = 0);
- virtual ~PlacesItemListGroupHeader();
+ PlacesItemListGroupHeader(QGraphicsWidget* parent = nullptr);
+ ~PlacesItemListGroupHeader() override;
protected:
- virtual void paintSeparator(QPainter* painter, const QColor& color) Q_DECL_OVERRIDE;
+ void paintSeparator(QPainter* painter, const QColor& color) override;
- virtual QPalette::ColorRole normalTextColorRole() const Q_DECL_OVERRIDE;
+ QPalette::ColorRole normalTextColorRole() const override;
};
#endif
public:
PlacesItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent);
- virtual ~PlacesItemListWidget();
+ ~PlacesItemListWidget() override;
protected:
- virtual bool isHidden() const Q_DECL_OVERRIDE;
- virtual QPalette::ColorRole normalTextColorRole() const Q_DECL_OVERRIDE;
+ bool isHidden() const override;
+ QPalette::ColorRole normalTextColorRole() const override;
};
#endif
m_hiddenItemsShown(false),
m_availableDevices(),
m_predicate(),
- m_bookmarkManager(0),
+ m_bookmarkManager(nullptr),
m_systemBookmarks(),
m_systemBookmarksIndexes(),
m_bookmarkedItems(),
m_hiddenItemToRemove(-1),
- m_deviceToTearDown(0),
- m_updateBookmarksTimer(0),
+ m_deviceToTearDown(nullptr),
+ m_updateBookmarksTimer(nullptr),
m_storageSetupInProgress()
{
#ifdef HAVE_BALOO
{
const PlacesItem* item = placesItem(index);
if (item && item->device().is<Solid::OpticalDisc>()) {
- return new QAction(QIcon::fromTheme(QStringLiteral("media-eject")), i18nc("@item", "Eject"), 0);
+ return new QAction(QIcon::fromTheme(QStringLiteral("media-eject")), i18nc("@item", "Eject"), nullptr);
}
- return 0;
+ return nullptr;
}
QAction* PlacesItemModel::teardownAction(int index) const
{
const PlacesItem* item = placesItem(index);
if (!item) {
- return 0;
+ return nullptr;
}
Solid::Device device = item->device();
const bool providesTearDown = device.is<Solid::StorageAccess>() &&
device.as<Solid::StorageAccess>()->isAccessible();
if (!providesTearDown) {
- return 0;
+ return nullptr;
}
Solid::StorageDrive* drive = device.as<Solid::StorageDrive>();
}
if (iconName.isEmpty()) {
- return new QAction(text, 0);
+ return new QAction(text, nullptr);
}
- return new QAction(QIcon::fromTheme(iconName), text, 0);
+ return new QAction(QIcon::fromTheme(iconName), text, nullptr);
}
void PlacesItemModel::requestEject(int index)
int modelIndex = 0;
for (int i = m_bookmarkedItems.count() - 1; i >= 0; --i) {
PlacesItem* item = m_bookmarkedItems[i];
- const bool itemIsPartOfModel = (item == 0);
+ const bool itemIsPartOfModel = (item == nullptr);
if (itemIsPartOfModel) {
item = placesItem(modelIndex);
}
Q_OBJECT
public:
- explicit PlacesItemModel(QObject* parent = 0);
- virtual ~PlacesItemModel();
+ explicit PlacesItemModel(QObject* parent = nullptr);
+ ~PlacesItemModel() override;
/**
* @return A new instance of a places item with the given
bool storageSetupNeeded(int index) const;
void requestStorageSetup(int index);
- virtual QMimeData* createMimeData(const KItemSet& indexes) const Q_DECL_OVERRIDE;
+ QMimeData* createMimeData(const KItemSet& indexes) const override;
- virtual bool supportsDropping(int index) const Q_DECL_OVERRIDE;
+ bool supportsDropping(int index) const override;
void dropMimeDataBefore(int index, const QMimeData* mimeData);
*/
static QUrl convertedUrl(const QUrl& url);
- virtual void clear() Q_DECL_OVERRIDE;
+ void clear() override;
void proceedWithTearDown();
*/
void saveBookmarks();
- bool isDir(int index) const Q_DECL_OVERRIDE;
+ bool isDir(int index) const override;
signals:
void errorMessage(const QString& message);
void storageSetupDone(int index, bool success);
void storageTearDownExternallyRequested(const QString& mountPath);
protected:
- virtual void onItemInserted(int index) Q_DECL_OVERRIDE;
- virtual void onItemRemoved(int index, KStandardItem* removedItem) Q_DECL_OVERRIDE;
- virtual void onItemChanged(int index, const QSet<QByteArray>& changedRoles) Q_DECL_OVERRIDE;
+ void onItemInserted(int index) override;
+ void onItemRemoved(int index, KStandardItem* removedItem) override;
+ void onItemChanged(int index, const QSet<QByteArray>& changedRoles) override;
private slots:
void slotDeviceAdded(const QString& udi);
public:
explicit PlacesItemSignalHandler(PlacesItem* item, QObject* parent = nullptr);
- virtual ~PlacesItemSignalHandler();
+ ~PlacesItemSignalHandler() override;
public slots:
/**
QMenu menu(this);
- QAction* emptyTrashAction = 0;
- QAction* editAction = 0;
- QAction* teardownAction = 0;
- QAction* ejectAction = 0;
+ QAction* emptyTrashAction = nullptr;
+ QAction* editAction = nullptr;
+ QAction* teardownAction = nullptr;
+ QAction* ejectAction = nullptr;
const QString label = item->text();
editAction = menu.addAction(QIcon::fromTheme("document-properties"), i18nc("@item:inmenu", "Edit..."));
}
- QAction* removeAction = 0;
+ QAction* removeAction = nullptr;
if (!isDevice && !item->isSystemItem()) {
removeAction = menu.addAction(QIcon::fromTheme(QStringLiteral("edit-delete")), i18nc("@item:inmenu", "Remove"));
}
QAction* addAction = menu.addAction(QIcon::fromTheme(QStringLiteral("document-new")), i18nc("@item:inmenu", "Add Entry..."));
- QAction* showAllAction = 0;
+ QAction* showAllAction = nullptr;
if (m_model->hiddenCount() > 0) {
showAllAction = menu.addAction(i18nc("@item:inmenu", "Show All Entries"));
showAllAction->setCheckable(true);
delete m_itemDropEvent;
m_itemDropEventIndex = -1;
- m_itemDropEventMimeData = 0;
- m_itemDropEvent = 0;
+ m_itemDropEventMimeData = nullptr;
+ m_itemDropEvent = nullptr;
}
}
emit errorMessage(job->errorString());
}
// as long as KIO doesn't do this, do it ourselves
- KNotification::event(QStringLiteral("Trash: emptied"), QString(), QPixmap(), 0, KNotification::DefaultEvent);
+ KNotification::event(QStringLiteral("Trash: emptied"), QString(), QPixmap(), nullptr, KNotification::DefaultEvent);
}
void PlacesPanel::slotStorageSetupDone(int index, bool success)
public:
explicit PlacesPanel(QWidget* parent);
- virtual ~PlacesPanel();
+ ~PlacesPanel() override;
void proceedWithTearDown();
signals:
void storageTearDownExternallyRequested(const QString& mountPath);
protected:
- virtual bool urlChanged() Q_DECL_OVERRIDE;
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
+ bool urlChanged() override;
+ void showEvent(QShowEvent* event) override;
public slots:
- virtual void readSettings() Q_DECL_OVERRIDE;
+ void readSettings() override;
private slots:
void slotItemActivated(int index);
TerminalPanel::TerminalPanel(QWidget* parent) :
Panel(parent),
m_clearTerminal(true),
- m_mostLocalUrlJob(0),
- m_layout(0),
- m_terminal(0),
- m_terminalWidget(0),
- m_konsolePart(0),
+ m_mostLocalUrlJob(nullptr),
+ m_layout(nullptr),
+ m_terminal(nullptr),
+ m_terminalWidget(nullptr),
+ m_konsolePart(nullptr),
m_konsolePartCurrentDirectory(),
m_sendCdToTerminalHistory()
{
void TerminalPanel::terminalExited()
{
- m_terminal = 0;
+ m_terminal = nullptr;
emit hideTerminalPanel();
}
if (!m_terminal) {
m_clearTerminal = true;
- KPluginFactory* factory = 0;
+ KPluginFactory* factory = nullptr;
KService::Ptr service = KService::serviceByDesktopName(QStringLiteral("konsolepart"));
if (service) {
factory = KPluginLoader(service->library()).factory();
}
- m_konsolePart = factory ? (factory->create<KParts::ReadOnlyPart>(this)) : 0;
+ m_konsolePart = factory ? (factory->create<KParts::ReadOnlyPart>(this)) : nullptr;
if (m_konsolePart) {
connect(m_konsolePart, &KParts::ReadOnlyPart::destroyed, this, &TerminalPanel::terminalExited);
m_terminalWidget = m_konsolePart->widget();
void TerminalPanel::changeDir(const QUrl& url)
{
delete m_mostLocalUrlJob;
- m_mostLocalUrlJob = 0;
+ m_mostLocalUrlJob = nullptr;
if (url.isLocalFile()) {
sendCdToTerminal(url.toLocalFile());
sendCdToTerminal(url.toLocalFile());
}
- m_mostLocalUrlJob = 0;
+ m_mostLocalUrlJob = nullptr;
}
void TerminalPanel::slotKonsolePartCurrentDirectoryChanged(const QString& dir)
public:
explicit TerminalPanel(QWidget* parent = nullptr);
- virtual ~TerminalPanel();
+ ~TerminalPanel() override;
/**
* @brief This function is used to set the terminal panels's cwd to
void changeUrl(const QUrl& url);
protected:
- virtual bool urlChanged() Q_DECL_OVERRIDE;
+ bool urlChanged() override;
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
+ void showEvent(QShowEvent* event) override;
private slots:
void slotMostLocalUrlResult(KJob* job);
public:
explicit DolphinFacetsWidget(QWidget* parent = nullptr);
- virtual ~DolphinFacetsWidget();
+ ~DolphinFacetsWidget() override;
QString ratingTerm() const;
QString facetType() const;
QWidget(parent),
m_startedSearching(false),
m_active(true),
- m_topLayout(0),
- m_searchLabel(0),
- m_searchInput(0),
- m_saveSearchAction(0),
- m_optionsScrollArea(0),
- m_fileNameButton(0),
- m_contentButton(0),
- m_separator(0),
- m_fromHereButton(0),
- m_everywhereButton(0),
- m_facetsToggleButton(0),
- m_facetsWidget(0),
+ m_topLayout(nullptr),
+ m_searchLabel(nullptr),
+ m_searchInput(nullptr),
+ m_saveSearchAction(nullptr),
+ m_optionsScrollArea(nullptr),
+ m_fileNameButton(nullptr),
+ m_contentButton(nullptr),
+ m_separator(nullptr),
+ m_fromHereButton(nullptr),
+ m_everywhereButton(nullptr),
+ m_facetsToggleButton(nullptr),
+ m_facetsWidget(nullptr),
m_searchPath(),
- m_startSearchTimer(0)
+ m_startSearchTimer(nullptr)
{
}
Q_OBJECT
public:
- explicit DolphinSearchBox(QWidget* parent = 0);
- virtual ~DolphinSearchBox();
+ explicit DolphinSearchBox(QWidget* parent = nullptr);
+ ~DolphinSearchBox() override;
/**
* Sets the text that should be used as input for
bool isActive() const;
protected:
- virtual bool event(QEvent* event) Q_DECL_OVERRIDE;
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
- virtual void hideEvent(QHideEvent* event) Q_DECL_OVERRIDE;
- virtual void keyReleaseEvent(QKeyEvent* event) Q_DECL_OVERRIDE;
- virtual bool eventFilter(QObject* obj, QEvent* event) Q_DECL_OVERRIDE;
+ bool event(QEvent* event) override;
+ void showEvent(QShowEvent* event) override;
+ void hideEvent(QHideEvent* event) override;
+ void keyReleaseEvent(QKeyEvent* event) override;
+ bool eventFilter(QObject* obj, QEvent* event) override;
signals:
/**
const QList<QByteArray>& visibleRoles) :
QDialog(parent),
m_visibleRoles(visibleRoles),
- m_listWidget(0)
+ m_listWidget(nullptr)
{
setWindowTitle(i18nc("@title:window", "Additional Information"));
setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Minimum);
public:
AdditionalInfoDialog(QWidget* parent, const QList<QByteArray>& visibleRoles);
- virtual ~AdditionalInfoDialog();
+ ~AdditionalInfoDialog() override;
QList<QByteArray> visibleRoles() const;
public slots:
- void accept() Q_DECL_OVERRIDE;
+ void accept() override;
private:
QList<QByteArray> m_visibleRoles;
ApplyViewPropsJob::ApplyViewPropsJob(const QUrl& dir,
const ViewProperties& viewProps) :
KIO::Job(),
- m_viewProps(0),
+ m_viewProps(nullptr),
m_progress(0),
m_dir(dir)
{
ApplyViewPropsJob::~ApplyViewPropsJob()
{
delete m_viewProps; // the properties are written by the destructor
- m_viewProps = 0;
+ m_viewProps = nullptr;
}
void ApplyViewPropsJob::slotEntries(KIO::Job*, const KIO::UDSEntryList& list)
* sub directories.
*/
ApplyViewPropsJob(const QUrl& dir, const ViewProperties& viewProps);
- virtual ~ApplyViewPropsJob();
+ ~ApplyViewPropsJob() override;
int progress() const;
private slots:
- virtual void slotResult(KJob* job) Q_DECL_OVERRIDE;
+ void slotResult(KJob* job) override;
void slotEntries(KIO::Job*, const KIO::UDSEntryList&);
private:
<entry name="PreviewsShown" type="Bool" >
<label context="@label">Previews shown</label>
<whatsthis context="@info:whatsthis">When this option is enabled, a preview of the file content is shown as an icon.</whatsthis>
- <default>false</default>
+ <default>true</default>
</entry>
<entry name="GroupedSorting" type="Bool" >
Q_OBJECT
public:
- explicit DolphinSettingsDialog(const QUrl& url, QWidget* parent = 0);
- virtual ~DolphinSettingsDialog();
+ explicit DolphinSettingsDialog(const QUrl& url, QWidget* parent = nullptr);
+ ~DolphinSettingsDialog() override;
signals:
void settingsChanged();
public:
BehaviorSettingsPage(const QUrl &url, QWidget* parent);
- virtual ~BehaviorSettingsPage();
+ ~BehaviorSettingsPage() override;
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
private:
void loadSettings();
ConfigurePreviewPluginDialog(const QString& pluginName,
const QString& desktopEntryName,
QWidget* parent);
- virtual ~ConfigurePreviewPluginDialog() = default;
+ ~ConfigurePreviewPluginDialog() override = default;
};
#endif
ConfirmationsSettingsPage::ConfirmationsSettingsPage(QWidget* parent) :
SettingsPageBase(parent),
- m_confirmMoveToTrash(0),
- m_confirmDelete(0),
- m_confirmClosingMultipleTabs(0)
+ m_confirmMoveToTrash(nullptr),
+ m_confirmDelete(nullptr),
+ m_confirmClosingMultipleTabs(nullptr)
{
QVBoxLayout* topLayout = new QVBoxLayout(this);
public:
ConfirmationsSettingsPage(QWidget* parent);
- virtual ~ConfirmationsSettingsPage();
+ ~ConfirmationsSettingsPage() override;
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
private:
void loadSettings();
m_pages.append(confirmationsPage);
m_pages.append(statusBarPage);
- topLayout->addWidget(tabWidget, 0, 0);
+ topLayout->addWidget(tabWidget, 0, nullptr);
}
GeneralSettingsPage::~GeneralSettingsPage()
public:
GeneralSettingsPage(const QUrl& url, QWidget* parent);
- virtual ~GeneralSettingsPage();
+ ~GeneralSettingsPage() override;
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
private:
QList<SettingsPageBase*> m_pages;
#include <KLocalizedString>
#include <KServiceTypeTrader>
#include <KService>
+#include <KIO/PreviewJob>
#include <settings/serviceitemdelegate.h>
#include <settings/servicemodel.h>
PreviewsSettingsPage::PreviewsSettingsPage(QWidget* parent) :
SettingsPageBase(parent),
m_initialized(false),
- m_listView(0),
+ m_listView(nullptr),
m_enabledPreviewPlugins(),
- m_remoteFileSizeBox(0)
+ m_remoteFileSizeBox(nullptr)
{
QVBoxLayout* topLayout = new QVBoxLayout(this);
void PreviewsSettingsPage::loadSettings()
{
- KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings");
- m_enabledPreviewPlugins = globalConfig.readEntry("Plugins", QStringList()
- << QStringLiteral("directorythumbnail")
- << QStringLiteral("imagethumbnail")
- << QStringLiteral("jpegthumbnail"));
+ const KConfigGroup globalConfig(KSharedConfig::openConfig(), QStringLiteral("PreviewSettings"));
+ m_enabledPreviewPlugins = globalConfig.readEntry("Plugins", KIO::PreviewJob::defaultPlugins());
const qulonglong defaultRemotePreview = static_cast<qulonglong>(MaxRemotePreviewSize) * 1024 * 1024;
const qulonglong maxRemoteByteSize = globalConfig.readEntry("MaximumRemoteSize", defaultRemotePreview);
public:
PreviewsSettingsPage(QWidget* parent);
- virtual ~PreviewsSettingsPage();
+ ~PreviewsSettingsPage() override;
/**
* Applies the general settings for the view modes
* The settings are persisted automatically when
* closing Dolphin.
*/
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** Restores the settings to default values. */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
protected:
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
+ void showEvent(QShowEvent* event) override;
private slots:
void configureService(const QModelIndex& index);
public:
StatusBarSettingsPage(QWidget* parent);
- virtual ~StatusBarSettingsPage();
+ ~StatusBarSettingsPage() override;
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
private:
void loadSettings();
m_pages.append(previewsPage);
m_pages.append(confirmationsPage);
- topLayout->addWidget(tabWidget, 0, 0);
+ topLayout->addWidget(tabWidget, 0, nullptr);
}
DolphinGeneralConfigModule::~DolphinGeneralConfigModule()
public:
DolphinGeneralConfigModule(QWidget* parent, const QVariantList& args);
- virtual ~DolphinGeneralConfigModule();
+ ~DolphinGeneralConfigModule() override;
- virtual void save() Q_DECL_OVERRIDE;
- virtual void defaults() Q_DECL_OVERRIDE;
+ void save() override;
+ void defaults() override;
private:
QList<SettingsPageBase*> m_pages;
DolphinNavigationConfigModule::DolphinNavigationConfigModule(QWidget* parent, const QVariantList& args) :
KCModule(parent),
- m_navigation(0)
+ m_navigation(nullptr)
{
Q_UNUSED(args);
m_navigation = new NavigationSettingsPage(this);
connect(m_navigation, &NavigationSettingsPage::changed, this, static_cast<void(DolphinNavigationConfigModule::*)()>(&DolphinNavigationConfigModule::changed));
- topLayout->addWidget(m_navigation, 0, 0);
+ topLayout->addWidget(m_navigation, 0, nullptr);
}
DolphinNavigationConfigModule::~DolphinNavigationConfigModule()
public:
DolphinNavigationConfigModule(QWidget* parent, const QVariantList& args);
- virtual ~DolphinNavigationConfigModule();
+ ~DolphinNavigationConfigModule() override;
- virtual void save() Q_DECL_OVERRIDE;
- virtual void defaults() Q_DECL_OVERRIDE;
+ void save() override;
+ void defaults() override;
private:
NavigationSettingsPage* m_navigation;
DolphinServicesConfigModule::DolphinServicesConfigModule(QWidget* parent, const QVariantList& args) :
KCModule(parent),
- m_services(0)
+ m_services(nullptr)
{
Q_UNUSED(args);
m_services = new ServicesSettingsPage(this);
connect(m_services, &ServicesSettingsPage::changed, this, static_cast<void(DolphinServicesConfigModule::*)()>(&DolphinServicesConfigModule::changed));
- topLayout->addWidget(m_services, 0, 0);
+ topLayout->addWidget(m_services, 0, nullptr);
}
DolphinServicesConfigModule::~DolphinServicesConfigModule()
public:
DolphinServicesConfigModule(QWidget* parent, const QVariantList& args);
- virtual ~DolphinServicesConfigModule();
+ ~DolphinServicesConfigModule() override;
- virtual void save() Q_DECL_OVERRIDE;
- virtual void defaults() Q_DECL_OVERRIDE;
+ void save() override;
+ void defaults() override;
private:
ServicesSettingsPage* m_services;
m_tabs.append(compactTab);
m_tabs.append(detailsTab);
- topLayout->addWidget(tabWidget, 0, 0);
+ topLayout->addWidget(tabWidget, 0, nullptr);
}
DolphinViewModesConfigModule::~DolphinViewModesConfigModule()
public:
DolphinViewModesConfigModule(QWidget* parent, const QVariantList& args);
- virtual ~DolphinViewModesConfigModule();
+ ~DolphinViewModesConfigModule() override;
- virtual void save() Q_DECL_OVERRIDE;
- virtual void defaults() Q_DECL_OVERRIDE;
+ void save() override;
+ void defaults() override;
private:
void reparseConfiguration();
NavigationSettingsPage::NavigationSettingsPage(QWidget* parent) :
SettingsPageBase(parent),
- m_openArchivesAsFolder(0),
- m_autoExpandFolders(0)
+ m_openArchivesAsFolder(nullptr),
+ m_autoExpandFolders(nullptr)
{
QVBoxLayout* topLayout = new QVBoxLayout(this);
QWidget* vBox = new QWidget(this);
public:
NavigationSettingsPage(QWidget* parent);
- virtual ~NavigationSettingsPage();
+ ~NavigationSettingsPage() override;
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
private:
void loadSettings();
Q_OBJECT
public:
- explicit ServiceItemDelegate(QAbstractItemView* itemView, QObject* parent = 0);
- virtual ~ServiceItemDelegate();
+ explicit ServiceItemDelegate(QAbstractItemView* itemView, QObject* parent = nullptr);
+ ~ServiceItemDelegate() override;
- virtual QSize sizeHint(const QStyleOptionViewItem &option,
- const QModelIndex &index) const Q_DECL_OVERRIDE;
+ QSize sizeHint(const QStyleOptionViewItem &option,
+ const QModelIndex &index) const override;
- virtual void paint(QPainter* painter, const QStyleOptionViewItem& option,
- const QModelIndex& index) const Q_DECL_OVERRIDE;
+ void paint(QPainter* painter, const QStyleOptionViewItem& option,
+ const QModelIndex& index) const override;
- virtual QList<QWidget*> createItemWidgets(const QModelIndex&) const Q_DECL_OVERRIDE;
+ QList<QWidget*> createItemWidgets(const QModelIndex&) const override;
- virtual void updateItemWidgets(const QList<QWidget*> widgets,
+ void updateItemWidgets(const QList<QWidget*> widgets,
const QStyleOptionViewItem& option,
- const QPersistentModelIndex& index) const Q_DECL_OVERRIDE;
+ const QPersistentModelIndex& index) const override;
signals:
void requestServiceConfiguration(const QModelIndex& index);
ConfigurableRole
};
- explicit ServiceModel(QObject* parent = 0);
- virtual ~ServiceModel();
+ explicit ServiceModel(QObject* parent = nullptr);
+ ~ServiceModel() override;
- virtual bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex()) Q_DECL_OVERRIDE;
- virtual bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) Q_DECL_OVERRIDE;
- virtual QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const Q_DECL_OVERRIDE;
- virtual int rowCount(const QModelIndex& parent = QModelIndex()) const Q_DECL_OVERRIDE;
+ bool insertRows(int row, int count, const QModelIndex & parent = QModelIndex()) override;
+ bool setData(const QModelIndex& index, const QVariant& value, int role = Qt::EditRole) override;
+ QVariant data(const QModelIndex& index, int role = Qt::DisplayRole) const override;
+ int rowCount(const QModelIndex& parent = QModelIndex()) const override;
private:
struct ServiceItem
ServicesSettingsPage::ServicesSettingsPage(QWidget* parent) :
SettingsPageBase(parent),
m_initialized(false),
- m_serviceModel(0),
- m_sortModel(0),
- m_listView(0),
+ m_serviceModel(nullptr),
+ m_sortModel(nullptr),
+ m_listView(nullptr),
m_enabledVcsPlugins()
{
QVBoxLayout* topLayout = new QVBoxLayout(this);
public:
ServicesSettingsPage(QWidget* parent);
- virtual ~ServicesSettingsPage();
+ ~ServicesSettingsPage() override;
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
protected:
- virtual void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
+ void showEvent(QShowEvent* event) override;
private slots:
/**
Q_OBJECT
public:
- explicit SettingsPageBase(QWidget* parent = 0);
- virtual ~SettingsPageBase();
+ explicit SettingsPageBase(QWidget* parent = nullptr);
+ ~SettingsPageBase() override;
/**
* Must be implemented by a derived class to
public:
StartupSettingsPage(const QUrl& url, QWidget* parent);
- virtual ~StartupSettingsPage();
+ ~StartupSettingsPage() override;
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
private slots:
void slotSettingsChanged();
public:
TrashSettingsPage(QWidget* parent);
- virtual ~TrashSettingsPage();
+ ~TrashSettingsPage() override;
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
private:
void loadSettings();
DolphinFontRequester::DolphinFontRequester(QWidget* parent) :
QWidget(parent),
- m_modeCombo(0),
- m_chooseFontButton(0),
+ m_modeCombo(nullptr),
+ m_chooseFontButton(nullptr),
m_mode(SystemFont),
m_customFont()
{
};
DolphinFontRequester(QWidget* parent);
- virtual ~DolphinFontRequester();
+ ~DolphinFontRequester() override;
void setMode(Mode mode);
Mode mode() const;
m_tabs.append(compactTab);
m_tabs.append(detailsTab);
- topLayout->addWidget(tabWidget, 0, 0);
+ topLayout->addWidget(tabWidget, 0, nullptr);
}
ViewSettingsPage::~ViewSettingsPage()
public:
ViewSettingsPage(QWidget* parent);
- virtual ~ViewSettingsPage();
+ ~ViewSettingsPage() override;
/** @see SettingsPageBase::applySettings() */
- virtual void applySettings() Q_DECL_OVERRIDE;
+ void applySettings() override;
/** @see SettingsPageBase::restoreDefaults() */
- virtual void restoreDefaults() Q_DECL_OVERRIDE;
+ void restoreDefaults() override;
private:
QList<ViewSettingsTab*> m_tabs;
ViewSettingsTab::ViewSettingsTab(Mode mode, QWidget* parent) :
QWidget(parent),
m_mode(mode),
- m_defaultSizeSlider(0),
- m_previewSizeSlider(0),
- m_fontRequester(0),
- m_widthBox(0),
- m_maxLinesBox(0),
- m_expandableFolders(0)
+ m_defaultSizeSlider(nullptr),
+ m_previewSizeSlider(nullptr),
+ m_fontRequester(nullptr),
+ m_widthBox(nullptr),
+ m_maxLinesBox(nullptr),
+ m_expandableFolders(nullptr)
{
QVBoxLayout* topLayout = new QVBoxLayout(this);
void ViewSettingsTab::restoreDefaultSettings()
{
- KConfigSkeleton* settings = 0;
+ KConfigSkeleton* settings = nullptr;
switch (m_mode) {
case IconsMode: settings = IconsModeSettings::self(); break;
case CompactMode: settings = CompactModeSettings::self(); break;
DetailsMode
};
- explicit ViewSettingsTab(Mode mode, QWidget* parent = 0);
- virtual ~ViewSettingsTab();
+ explicit ViewSettingsTab(Mode mode, QWidget* parent = nullptr);
+ ~ViewSettingsTab() override;
void applySettings();
void restoreDefaultSettings();
QDialog(dolphinView),
m_isDirty(false),
m_dolphinView(dolphinView),
- m_viewProps(0),
- m_viewMode(0),
- m_sortOrder(0),
- m_sorting(0),
- m_sortFoldersFirst(0),
- m_previewsShown(0),
- m_showInGroups(0),
- m_showHiddenFiles(0),
- m_additionalInfo(0),
- m_applyToCurrentFolder(0),
- m_applyToSubFolders(0),
- m_applyToAllFolders(0),
- m_useAsDefault(0)
+ m_viewProps(nullptr),
+ m_viewMode(nullptr),
+ m_sortOrder(nullptr),
+ m_sorting(nullptr),
+ m_sortFoldersFirst(nullptr),
+ m_previewsShown(nullptr),
+ m_showInGroups(nullptr),
+ m_showHiddenFiles(nullptr),
+ m_additionalInfo(nullptr),
+ m_applyToCurrentFolder(nullptr),
+ m_applyToSubFolders(nullptr),
+ m_applyToAllFolders(nullptr),
+ m_useAsDefault(nullptr)
{
Q_ASSERT(dolphinView);
const bool useGlobalViewProps = GeneralSettings::globalViewProps();
{
m_isDirty = false;
delete m_viewProps;
- m_viewProps = 0;
+ m_viewProps = nullptr;
KConfigGroup dialogConfig(KSharedConfig::openConfig(QStringLiteral("dolphinrc")), "ViewPropertiesDialog");
KWindowConfig::saveWindowSize(windowHandle(), dialogConfig);
public:
explicit ViewPropertiesDialog(DolphinView* dolphinView);
- virtual ~ViewPropertiesDialog();
+ ~ViewPropertiesDialog() override;
public slots:
- void accept() Q_DECL_OVERRIDE;
+ void accept() override;
private slots:
void slotApply();
const ViewProperties& viewProps) :
QDialog(parent),
m_dir(dir),
- m_viewProps(0),
- m_label(0),
- m_progressBar(0),
- m_dirSizeJob(0),
- m_applyViewPropsJob(0),
- m_timer(0)
+ m_viewProps(nullptr),
+ m_label(nullptr),
+ m_progressBar(nullptr),
+ m_dirSizeJob(nullptr),
+ m_applyViewPropsJob(nullptr),
+ m_timer(nullptr)
{
const QSize minSize = minimumSize();
setMinimumSize(QSize(320, minSize.height()));
ViewPropsProgressInfo::~ViewPropsProgressInfo()
{
delete m_viewProps;
- m_viewProps = 0;
+ m_viewProps = nullptr;
}
void ViewPropsProgressInfo::closeEvent(QCloseEvent* event)
{
m_timer->stop();
- m_applyViewPropsJob = 0;
+ m_applyViewPropsJob = nullptr;
QDialog::closeEvent(event);
}
{
if (m_dirSizeJob) {
m_dirSizeJob->kill();
- m_dirSizeJob = 0;
+ m_dirSizeJob = nullptr;
}
if (m_applyViewPropsJob) {
m_applyViewPropsJob->kill();
- m_applyViewPropsJob = 0;
+ m_applyViewPropsJob = nullptr;
}
QDialog::reject();
m_label->setText(i18nc("@info:progress", "Folders: %1", subdirs));
m_progressBar->setMaximum(subdirs);
- m_dirSizeJob = 0;
+ m_dirSizeJob = nullptr;
m_applyViewPropsJob = new ApplyViewPropsJob(m_dir, *m_viewProps);
connect(m_applyViewPropsJob, &ApplyViewPropsJob::result,
const QUrl& dir,
const ViewProperties& viewProps);
- virtual ~ViewPropsProgressInfo();
+ ~ViewPropsProgressInfo() override;
protected:
- virtual void closeEvent(QCloseEvent* event) Q_DECL_OVERRIDE;
+ void closeEvent(QCloseEvent* event) override;
public slots:
- void reject() Q_DECL_OVERRIDE;
+ void reject() override;
private slots:
void updateProgress();
#include <QIcon>
#include <KLocalizedString>
+#include <KSqueezedTextLabel>
#include <QMenu>
#include "statusbarspaceinfo.h"
QWidget(parent),
m_text(),
m_defaultText(),
- m_label(0),
- m_spaceInfo(0),
- m_zoomSlider(0),
- m_progressBar(0),
- m_stopButton(0),
+ m_label(nullptr),
+ m_spaceInfo(nullptr),
+ m_zoomSlider(nullptr),
+ m_progressBar(nullptr),
+ m_stopButton(nullptr),
m_progress(100),
- m_showProgressBarTimer(0),
- m_resetToDefaultTextTimer(0),
+ m_showProgressBarTimer(nullptr),
+ m_resetToDefaultTextTimer(nullptr),
m_textTimestamp()
{
// Initialize text label
- m_label = new QLabel(this);
+ m_label = new KSqueezedTextLabel(m_text, this);
m_label->setWordWrap(true);
m_label->setTextFormat(Qt::PlainText);
- m_label->installEventFilter(this);
// Initialize zoom widget
m_zoomSlider = new QSlider(Qt::Horizontal, this);
QHBoxLayout* topLayout = new QHBoxLayout(this);
topLayout->setContentsMargins(2, 0, 2, 0);
topLayout->setSpacing(4);
- topLayout->addWidget(m_label);
- topLayout->addWidget(m_zoomSlider);
- topLayout->addWidget(m_spaceInfo);
+ topLayout->addWidget(m_label, 1);
+ topLayout->addWidget(m_zoomSlider, 1);
+ topLayout->addWidget(m_spaceInfo, 1);
topLayout->addWidget(m_stopButton);
topLayout->addWidget(m_progressTextLabel);
topLayout->addWidget(m_progressBar);
}
}
-bool DolphinStatusBar::eventFilter(QObject* obj, QEvent* event)
-{
- if (obj == m_label && event->type() == QEvent::Resize) {
- updateLabelText();
- }
- return QWidget::eventFilter(obj, event);
-}
-
void DolphinStatusBar::showZoomSliderToolTip(int zoomLevel)
{
updateZoomSliderToolTip(zoomLevel);
void DolphinStatusBar::updateLabelText()
{
const QString text = m_text.isEmpty() ? m_defaultText : m_text;
-
- // Set status bar text and elide it if too long
- QFontMetrics fontMetrics(m_label->font());
- const QString elidedText = fontMetrics.elidedText(text, Qt::ElideRight, m_label->width());
- m_label->setText(elidedText);
-
- // If the text has been elided, set the original text as tooltip
- if (text != elidedText) {
- m_label->setToolTip(Qt::convertFromPlainText(text));
- } else {
- m_label->setToolTip(QString());
- }
+ m_label->setText(text);
}
void DolphinStatusBar::slotResetToDefaultText()
class QToolButton;
class QSlider;
class QTimer;
+class KSqueezedTextLabel;
/**
* @brief Represents the statusbar of a Dolphin view.
public:
DolphinStatusBar(QWidget* parent);
- virtual ~DolphinStatusBar();
+ ~DolphinStatusBar() override;
QString text() const;
void zoomLevelChanged(int zoomLevel);
protected:
- virtual void contextMenuEvent(QContextMenuEvent* event) Q_DECL_OVERRIDE;
- virtual bool eventFilter(QObject* obj, QEvent* event) Q_DECL_OVERRIDE;
+ void contextMenuEvent(QContextMenuEvent* event) override;
private slots:
void showZoomSliderToolTip(int zoomLevel);
private:
QString m_text;
QString m_defaultText;
- QLabel* m_label;
+ KSqueezedTextLabel* m_label;
StatusBarSpaceInfo* m_spaceInfo;
QSlider* m_zoomSlider;
{
Q_OBJECT
- explicit MountPointObserver(const QUrl& url, QObject* parent = 0);
- virtual ~MountPointObserver() {}
+ explicit MountPointObserver(const QUrl& url, QObject* parent = nullptr);
+ ~MountPointObserver() override {}
public:
/**
MountPointObserverCache::MountPointObserverCache() :
m_observerForMountPoint(),
m_mountPointForObserver(),
- m_updateTimer(0)
+ m_updateTimer(nullptr)
{
m_updateTimer = new QTimer(this);
}
Q_OBJECT
MountPointObserverCache();
- virtual ~MountPointObserverCache();
+ ~MountPointObserverCache() override;
public:
static MountPointObserverCache* instance();
SpaceInfoObserver::SpaceInfoObserver(const QUrl& url, QObject* parent) :
QObject(parent),
- m_mountPointObserver(0),
+ m_mountPointObserver(nullptr),
m_dataSize(0),
m_dataAvailable(0)
{
{
if (m_mountPointObserver) {
m_mountPointObserver->deref();
- m_mountPointObserver = 0;
+ m_mountPointObserver = nullptr;
}
}
if (m_mountPointObserver) {
disconnect(m_mountPointObserver, &MountPointObserver::spaceInfoChanged, this, &SpaceInfoObserver::spaceInfoChanged);
m_mountPointObserver->deref();
- m_mountPointObserver = 0;
+ m_mountPointObserver = nullptr;
}
m_mountPointObserver = newObserver;
Q_OBJECT
public:
- explicit SpaceInfoObserver(const QUrl& url, QObject* parent = 0);
- virtual ~SpaceInfoObserver();
+ explicit SpaceInfoObserver(const QUrl& url, QObject* parent = nullptr);
+ ~SpaceInfoObserver() override;
quint64 size() const;
quint64 available() const;
StatusBarSpaceInfo::StatusBarSpaceInfo(QWidget* parent) :
KCapacityBar(KCapacityBar::DrawTextInline, parent),
- m_observer(0)
+ m_observer(nullptr)
{
setCursor(Qt::PointingHandCursor);
}
Q_OBJECT
public:
- explicit StatusBarSpaceInfo(QWidget* parent = 0);
- virtual ~StatusBarSpaceInfo();
+ explicit StatusBarSpaceInfo(QWidget* parent = nullptr);
+ ~StatusBarSpaceInfo() override;
void setUrl(const QUrl& url);
QUrl url() const;
protected:
- void showEvent(QShowEvent* event) Q_DECL_OVERRIDE;
- void hideEvent(QHideEvent* event) Q_DECL_OVERRIDE;
- void mousePressEvent(QMouseEvent* event) Q_DECL_OVERRIDE;
+ void showEvent(QShowEvent* event) override;
+ void hideEvent(QHideEvent* event) override;
+ void mousePressEvent(QMouseEvent* event) override;
private slots:
void slotValuesChanged();
TEST_NAME dolphinmainwindowtest
LINK_LIBRARIES dolphinprivate dolphinstatic Qt5::Test)
-ecm_add_test(draganddrophelpertest.cpp LINK_LIBRARIES dolphinprivate Qt5::Test)
\ No newline at end of file
+ecm_add_test(draganddrophelpertest.cpp LINK_LIBRARIES dolphinprivate Qt5::Test)
+
+# PlacesItemModelTest
+ecm_add_test(placesitemmodeltest.cpp
+TEST_NAME placesitemmodeltest
+LINK_LIBRARIES dolphinprivate dolphinstatic Qt5::Test)
+
--- /dev/null
+<!-- Please note that in this file we indent more than necessary so that the
+ device tree is visible -->
+
+<machine>
+ <!-- This is a computer -->
+ <device udi="/org/kde/solid/fakehw/computer">
+ <property key="name">Computer</property>
+ <property key="vendor">Solid</property>
+ </device>
+
+ <!-- Two CPUs -->
+ <device udi="/org/kde/solid/fakehw/acpi_CPU0">
+ <property key="name">Solid Processor #0</property>
+ <property key="interfaces">Processor</property>
+ <property key="vendor">Acme Corporation</property>
+ <property key="parent">/org/kde/solid/fakehw/computer</property>
+ <property key="number">0</property>
+ <property key="maxSpeed">3200</property>
+ <property key="canChangeFrequency">true</property>
+ <property key="instructionSets">mmx,sse</property>
+ </device>
+ <device udi="/org/kde/solid/fakehw/acpi_CPU1">
+ <property key="name">Solid Processor #1</property>
+ <property key="interfaces">Processor</property>
+ <property key="vendor">Acme Corporation</property>
+ <property key="parent">/org/kde/solid/fakehw/computer</property>
+ <property key="number">1</property>
+ <property key="maxSpeed">3200</property>
+ <property key="canChangeFrequency">true</property>
+ </device>
+
+ <!-- Platform Device for a floppy drive -->
+ <device udi="/org/kde/solid/fakehw/platform_floppy_0">
+ <property key="name">Platform Device (floppy)</property>
+ <property key="parent">/org/kde/solid/fakehw/computer</property>
+ </device>
+ <!-- The actual floppy device -->
+ <device udi="/org/kde/solid/fakehw/platform_floppy_0_storage">
+ <property key="name">PC Floppy Drive</property>
+ <property key="interfaces">StorageDrive,Block</property>
+ <property key="parent">/org/kde/solid/fakehw/platform_floppy_0</property>
+
+ <property key="minor">0</property>
+ <property key="major">2</property>
+ <property key="device">/dev/fd0</property>
+
+ <property key="bus">platform</property>
+ <property key="driveType">floppy</property>
+ <property key="isRemovable">true</property>
+ <property key="isEjectRequired">false</property>
+ <property key="isHotpluggable">false</property>
+ <property key="isMediaCheckEnabled">false</property>
+ </device>
+ <!-- A (generally) virtual volume tracking the floppy drive state -->
+ <device udi="/org/kde/solid/fakehw/platform_floppy_0_storage_virt_volume">
+ <property key="name">Floppy Disk</property>
+ <property key="interfaces">Block,StorageVolume,StorageAccess</property>
+ <property key="parent">/org/kde/solid/fakehw/platform_floppy_0_storage</property>
+
+ <property key="minor">0</property>
+ <property key="major">2</property>
+ <property key="device">/dev/fd0</property>
+
+ <property key="isIgnored">false</property>
+ <property key="isMounted">true</property>
+ <property key="mountPoint">/media/floppy0</property>
+ <property key="usage">filesystem</property>
+ </device>
+
+
+
+ <!-- Primary IDE controller -->
+ <device udi="/org/kde/solid/fakehw/pci_001">
+ <property key="name">99021 IDE Controller #1</property>
+ <property key="vendor">Acme Corporation</property>
+ <property key="parent">/org/kde/solid/fakehw/computer</property>
+ </device>
+
+ <!-- Master device... -->
+ <device udi="/org/kde/solid/fakehw/pci_001_ide_0_0">
+ <property key="name">IDE device (master)</property>
+ <property key="parent">/org/kde/solid/fakehw/pci_001</property>
+ </device>
+ <!-- ... is a 250GB disk... -->
+ <device udi="/org/kde/solid/fakehw/storage_serial_HD56890I">
+ <property key="name">HD250GB</property>
+ <property key="vendor">Acme Corporation</property>
+ <property key="interfaces">StorageDrive,Block</property>
+ <property key="parent">/org/kde/solid/fakehw/pci_001_ide_0_0</property>
+
+ <property key="minor">0</property>
+ <property key="major">3</property>
+ <property key="device">/dev/hda</property>
+
+ <property key="bus">scsi</property>
+ <property key="driveType">disk</property>
+ <property key="isRemovable">false</property>
+ <property key="isEjectRequired">false</property>
+ <property key="isHotpluggable">false</property>
+ <property key="isMediaCheckEnabled">false</property>
+ <property key="product">HD250GBSATA</property>
+ </device>
+ <!-- ... with five partitions:
+ - one physical partition (the root /, ext3, 20GB)
+ - one extended containing three logical volumes:
+ - a swap volume (2GB)
+ - /home volume (xfs, 208GB)
+ - /foreign volume (ntfs, 20GB)
+ -->
+ <device udi="/org/kde/solid/fakehw/volume_uuid_feedface">
+ <property key="name">/</property>
+ <property key="interfaces">Block,StorageVolume,StorageAccess</property>
+ <property key="parent">/org/kde/solid/fakehw/storage_serial_HD56890I</property>
+
+ <property key="minor">1</property>
+ <property key="major">3</property>
+ <property key="device">/dev/hda1</property>
+
+ <property key="isIgnored">true</property>
+ <property key="isMounted">true</property>
+ <property key="mountPoint">/</property>
+ <property key="usage">filesystem</property>
+ <property key="fsType">ext3</property>
+ <property key="label">Root</property>
+ <property key="uuid">feedface</property>
+ <property key="size">21474836480</property>
+ </device>
+ <device udi="/org/kde/solid/fakehw/volume_uuid_c0ffee">
+ <property key="name">/home</property>
+ <property key="interfaces">Block,StorageVolume,StorageAccess</property>
+ <property key="parent">/org/kde/solid/fakehw/storage_serial_HD56890I</property>
+
+ <property key="minor">6</property>
+ <property key="major">3</property>
+ <property key="device">/dev/hda6</property>
+
+ <property key="isIgnored">true</property>
+ <property key="isMounted">true</property>
+ <property key="mountPoint">/home</property>
+ <property key="usage">filesystem</property>
+ <property key="fsType">xfs</property>
+ <property key="label">Home</property>
+ <property key="uuid">c0ffee</property>
+ <property key="size">223338299392</property>
+ </device>
+ <device udi="/org/kde/solid/fakehw/volume_uuid_f00ba7">
+ <property key="name">/foreign</property>
+ <property key="interfaces">Block,StorageVolume,StorageAccess</property>
+ <property key="parent">/org/kde/solid/fakehw/storage_serial_HD56890I</property>
+
+ <property key="minor">7</property>
+ <property key="major">3</property>
+ <property key="device">/dev/hda7</property>
+
+ <property key="isIgnored">false</property>
+ <property key="isMounted">true</property>
+ <property key="mountPoint">/foreign</property>
+ <property key="usage">filesystem</property>
+ <property key="fsType">ntfs</property>
+ <property key="label">Foreign</property>
+ <property key="uuid">f00ba7</property>
+ <property key="size">21474836480</property>
+ </device>
+ <device udi="/org/kde/solid/fakehw/volume_part2_size_1024">
+ <property key="name">StorageVolume</property>
+ <property key="interfaces">Block,StorageVolume,StorageAccess</property>
+ <property key="parent">/org/kde/solid/fakehw/storage_serial_HD56890I</property>
+
+ <property key="minor">2</property>
+ <property key="major">3</property>
+ <property key="device">/dev/hda2</property>
+
+ <property key="isIgnored">true</property>
+ <property key="isMounted">false</property>
+ <property key="usage">other</property>
+ <property key="size">1024</property>
+ </device>
+ <device udi="/org/kde/solid/fakehw/volume_part5_size_1048576">
+ <property key="name">StorageVolume (swap)</property>
+ <property key="interfaces">Block,StorageVolume,StorageAccess</property>
+ <property key="parent">/org/kde/solid/fakehw/storage_serial_HD56890I</property>
+
+ <property key="minor">5</property>
+ <property key="major">3</property>
+ <property key="device">/dev/hda5</property>
+
+ <property key="isIgnored">true</property>
+ <property key="isMounted">false</property>
+ <property key="usage">other</property>
+ <property key="fsType">swap</property>
+ <property key="size">2147483648</property>
+ </device>
+
+
+ <!-- Secondary IDE controller -->
+ <device udi="/org/kde/solid/fakehw/pci_002">
+ <property key="name">99021 IDE Controller #2</property>
+ <property key="vendor">Acme Corporation</property>
+ <property key="parent">/org/kde/solid/fakehw/computer</property>
+ </device>
+
+ <!-- Master device... -->
+ <device udi="/org/kde/solid/fakehw/pci_002_ide_1_0">
+ <property key="name">IDE device (master)</property>
+ <property key="parent">/org/kde/solid/fakehw/pci_002</property>
+ </device>
+ <!-- ... is a DVD writer... -->
+ <device udi="/org/kde/solid/fakehw/storage_model_solid_writer">
+ <property key="name">Solid IDE DVD Writer</property>
+ <property key="vendor">Acme Corporation</property>
+ <property key="interfaces">Block,StorageDrive,OpticalDrive</property>
+ <property key="parent">/org/kde/solid/fakehw/pci_002_ide_1_0</property>
+
+ <property key="minor">0</property>
+ <property key="major">22</property>
+ <property key="device">/dev/hdc</property>
+
+ <property key="bus">ide</property>
+ <property key="driveType">cdrom</property>
+ <property key="isRemovable">true</property>
+ <property key="isEjectRequired">true</property>
+ <property key="isHotpluggable">false</property>
+ <property key="isMediaCheckEnabled">true</property>
+ <property key="product">Solid DVD Writer</property>
+
+ <property key="supportedMedia">cdr,cdrw,dvd,dvdr,dvdrw</property>
+ <property key="readSpeed">4234</property>
+ <property key="writeSpeed">4234</property>
+ <property key="writeSpeeds">4234,2822,2117,1411,706</property>
+ </device>
+ <!-- ... with a cd-r in it -->
+ <device udi="/org/kde/solid/fakehw/volume_uuid_5011">
+ <property key="name">FooDistro i386</property>
+ <property key="interfaces">Block,StorageVolume,OpticalDisc,StorageAccess</property>
+ <property key="parent">/org/kde/solid/fakehw/storage_model_solid_writer</property>
+
+ <property key="discType">cd_rw</property>
+ <property key="isAppendable">false</property>
+ <property key="isRewritable">true</property>
+ <property key="isBlank">false</property>
+ <property key="availableContent">data</property>
+ <property key="mountPoint">/media/cdrom</property>
+
+ <property key="uuid">5011</property>
+ <property key="size">731047936</property>
+ <property key="label">FooDistro i386</property>
+ </device>
+
+ <!-- Slave device... -->
+ <device udi="/org/kde/solid/fakehw/pci_002_ide_1_1">
+ <property key="name">IDE device (slave)</property>
+ <property key="parent">/org/kde/solid/fakehw/pci_002</property>
+ </device>
+ <!-- ... is a DVD reader... -->
+ <device udi="/org/kde/solid/fakehw/storage_model_solid_reader">
+ <property key="name">Solid IDE DVD Reader</property>
+ <property key="vendor">Acme Corporation</property>
+ <property key="interfaces">Block,StorageDrive,OpticalDrive</property>
+ <property key="parent">/org/kde/solid/fakehw/pci_002_ide_1_1</property>
+
+ <property key="minor">0</property>
+ <property key="major">22</property>
+ <property key="device">/dev/hdc</property>
+
+ <property key="bus">ide</property>
+ <property key="driveType">cdrom</property>
+ <property key="isRemovable">true</property>
+ <property key="isEjectRequired">true</property>
+ <property key="isHotpluggable">false</property>
+ <property key="isMediaCheckEnabled">true</property>
+ <property key="product">Solid DVD Reader</property>
+
+ <property key="supportedMedia">cdr,cdrw,dvd,dvdr,dvdrw,dvdram,dvdplusr,dvdplusrw</property>
+ <property key="readSpeed">4234</property>
+ </device>
+ <!-- ... with a DVD Video in it -->
+ <device udi="/org/kde/solid/fakehw/volume_label_SOLIDMAN_BEGINS">
+ <property key="name">SolidMan Begins</property>
+ <property key="interfaces">Block,StorageVolume,OpticalDisc</property>
+ <property key="parent">/org/kde/solid/fakehw/storage_model_solid_reader</property>
+
+ <property key="discType">dvd_rom</property>
+ <property key="isAppendable">false</property>
+ <property key="isRewritable">false</property>
+ <property key="isBlank">false</property>
+ <property key="availableContent">dvdvideo</property>
+
+ <property key="uuid">5012</property>
+ <property key="size">8033075200</property>
+ <property key="label">SolidMan Begins</property>
+ </device>
+
+
+
+ <!-- First USB Controller -->
+ <device udi="/org/kde/solid/fakehw/pci_8086_265c">
+ <property key="name">99021 USB2 EHCI Controller #1</property>
+ <property key="vendor">Acme Corporation</property>
+ <property key="parent">/org/kde/solid/fakehw/computer</property>
+ </device>
+ <!-- Host Controller -->
+ <device udi="/org/kde/solid/fakehw/usb_device_0_0_1d_7">
+ <property key="name">EHCI Host Controller</property>
+ <property key="vendor">Kernel ehci_hcd</property>
+ <property key="parent">/org/kde/solid/fakehw/pci_8086_265c</property>
+ </device>
+ <!-- USB Device -->
+ <device udi="/org/kde/solid/fakehw/usb_device_4e8_5041">
+ <property key="name">Acme XO-Y4</property>
+ <property key="parent">/org/kde/solid/fakehw/usb_device_0_0_1d_7</property>
+ </device>
+ <!-- Mass Storage Interface -->
+ <device udi="/org/kde/solid/fakehw/usb_device_4e8_5041_if0">
+ <property key="name">USB Mass Storage Inferface</property>
+ <property key="parent">/org/kde/solid/fakehw/usb_device_4e8_5041</property>
+ </device>
+ <!-- SCSI Adapter -->
+ <device udi="/org/kde/solid/fakehw/usb_device_4e8_5041_if0_scsi_host">
+ <property key="name">SCSI Host Adapter</property>
+ <property key="parent">/org/kde/solid/fakehw/usb_device_4e8_5041_if0</property>
+ </device>
+ <!-- SCSI Device -->
+ <device udi="/org/kde/solid/fakehw/usb_device_4e8_5041_if0_scsi_host_scsi_device_lun0">
+ <property key="name">SCSI Device</property>
+ <property key="parent">/org/kde/solid/fakehw/usb_device_4e8_5041_if0_scsi_host</property>
+ </device>
+ <!-- We finally find the storage device, which is a portable media player... -->
+ <device udi="/org/kde/solid/fakehw/storage_serial_XOY4_5206">
+ <property key="name">XO-Y4</property>
+ <property key="vendor">Acme Electronics</property>
+ <property key="interfaces">StorageDrive,Block,PortableMediaPlayer</property>
+ <property key="parent">/org/kde/solid/fakehw/usb_device_4e8_5041_if0_scsi_host_scsi_device_lun0</property>
+
+ <property key="minor">0</property>
+ <property key="major">8</property>
+ <property key="device">/dev/sda</property>
+
+ <property key="bus">usb</property>
+ <property key="driveType">disk</property>
+ <property key="isRemovable">true</property>
+ <property key="isEjectRequired">true</property>
+ <property key="isHotpluggable">true</property>
+ <property key="isMediaCheckEnabled">true</property>
+ <property key="product">XO-Y4</property>
+
+ <property key="accessMethod">MassStorage</property>
+ <property key="outputFormats">audio/x-mp3</property>
+ <property key="inputFormats">audio/x-wav,audio/x-mp3,audio/vorbis</property>
+ <property key="playlistFormats">audio/x-mpegurl</property>
+ </device>
+ <!-- ... with a partition since it's a USB Mass Storage device -->
+ <device udi="/org/kde/solid/fakehw/volume_part1_size_993284096">
+ <property key="name">StorageVolume (vfat)</property>
+ <property key="interfaces">Block,StorageVolume,StorageAccess</property>
+ <property key="parent">/org/kde/solid/fakehw/storage_serial_XOY4_5206</property>
+
+ <property key="minor">1</property>
+ <property key="major">8</property>
+ <property key="device">/dev/sda1</property>
+
+ <property key="isIgnored">false</property>
+ <property key="isMounted">true</property>
+ <property key="mountPoint">/media/XO-Y4</property>
+ <property key="usage">filesystem</property>
+ <property key="fsType">vfat</property>
+ <property key="size">993284096</property>
+ </device>
+
+ <device udi="/org/kde/solid/fakehw/fstab">
+ <property key="name">Network Shares</property>
+ <property key="product">Network Shares</property>
+ <property key="vendor">KDE</property>
+ <property key="parent">/org/kde/solid/fakehw/computer</property>
+ </device>
+ <device udi="/org/kde/solid/fakehw/fstab/thehost/solidpath">
+ <property key="parent">/org/kde/solid/fstab</property>
+ <property key="interfaces">NetworkShare,StorageAccess</property>
+ <property key="vendor">/solidpath</property>
+ <property key="product">thehost</property>
+ <property key="type">nfs</property>
+ <property key="url">nfs://thehost/solid-path</property>
+ <property key="filePath">/media/nfs</property>
+ <property key="isIgnored">false</property>
+ <property key="isMounted">true</property>
+ <property key="mountPoint">/media/nfs</property>
+ </device>
+</machine>
m_model->m_dirLister->setAutoUpdate(false);
m_listView = new KFileItemListView();
- m_listView->onModelChanged(m_model, 0);
+ m_listView->onModelChanged(m_model, nullptr);
m_graphicsView = new QGraphicsView();
m_graphicsView->show();
void KFileItemListViewTest::cleanup()
{
delete m_graphicsView;
- m_graphicsView = 0;
+ m_graphicsView = nullptr;
delete m_listView;
- m_listView = 0;
+ m_listView = nullptr;
delete m_model;
- m_model = 0;
+ m_model = nullptr;
delete m_testDir;
- m_testDir = 0;
+ m_testDir = nullptr;
}
/**
void KFileItemModelTest::cleanup()
{
delete m_model;
- m_model = 0;
+ m_model = nullptr;
delete m_testDir;
- m_testDir = 0;
+ m_testDir = nullptr;
}
void KFileItemModelTest::testDefaultRoles()
int styleHint(StyleHint hint,
const QStyleOption* option = nullptr,
const QWidget* widget = nullptr,
- QStyleHintReturn* returnData = nullptr) const Q_DECL_OVERRIDE
+ QStyleHintReturn* returnData = nullptr) const override
{
switch (hint) {
case QStyle::SH_ItemView_ActivateItemOnSingleClick:
void KItemListControllerTest::cleanupTestCase()
{
delete m_container;
- m_container = 0;
+ m_container = nullptr;
delete m_testDir;
- m_testDir = 0;
+ m_testDir = nullptr;
}
/** Before each test, the current item, selection, and item size are reset to the defaults. */
public:
DummyModel();
void setCount(int count);
- int count() const Q_DECL_OVERRIDE;
- QHash<QByteArray, QVariant> data(int index) const Q_DECL_OVERRIDE;
+ int count() const override;
+ QHash<QByteArray, QVariant> data(int index) const override;
private:
int m_count;
void KItemListSelectionManagerTest::cleanup()
{
delete m_selectionManager;
- m_selectionManager = 0;
+ m_selectionManager = nullptr;
delete m_model;
- m_model = 0;
+ m_model = nullptr;
}
void KItemListSelectionManagerTest::testConstructor()
void KStandardItemModelTest::cleanup()
{
delete m_model;
- m_model = 0;
+ m_model = nullptr;
}
void KStandardItemModelTest::testNewItems()
--- /dev/null
+/***************************************************************************
+ * Copyright (C) 2017 by Renato Araujo Oliveira <renato.araujo@kdab.com> *
+ * *
+ * This program is free software; you can redistribute it and/or modify *
+ * it under the terms of the GNU General Public License as published by *
+ * the Free Software Foundation; either version 2 of the License, or *
+ * (at your option) any later version. *
+ * *
+ * This program is distributed in the hope that it will be useful, *
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of *
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
+ * GNU General Public License for more details. *
+ * *
+ * You should have received a copy of the GNU General Public License *
+ * along with this program; if not, write to the *
+ * Free Software Foundation, Inc., *
+ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
+ ***************************************************************************/
+
+#include <QTest>
+#include <QSignalSpy>
+#include <QDebug>
+#include <QList>
+#include <QByteArray>
+#include <QStandardPaths>
+#include <QAction>
+#include <QDBusInterface>
+
+#include <KBookmarkManager>
+#include <KConfig>
+#include <KConfigGroup>
+#include <KAboutData>
+
+#include "panels/places/placesitemmodel.h"
+#include "panels/places/placesitem.h"
+#include "views/viewproperties.h"
+#include "kitemviews/kitemrange.h"
+
+Q_DECLARE_METATYPE(KItemRangeList)
+Q_DECLARE_METATYPE(PlacesItem::GroupType)
+
+#ifdef Q_OS_WIN
+//c:\ as root for windows
+#define KDE_ROOT_PATH "C:\\"
+#else
+#define KDE_ROOT_PATH "/"
+#endif
+
+static QString bookmarksFile()
+{
+ return QStandardPaths::writableLocation(QStandardPaths::GenericDataLocation) + "/user-places.xbel";
+}
+
+class PlacesItemModelTest : public QObject
+{
+ Q_OBJECT
+
+private slots:
+ void init();
+ void cleanup();
+
+ void initTestCase();
+ void cleanupTestCase();
+
+ void testModelSort();
+ void testModelMove();
+ void testGroups();
+ void testPlaceItem_data();
+ void testPlaceItem();
+ void testTearDownDevice();
+ void testDefaultViewProperties_data();
+ void testDefaultViewProperties();
+ void testClear();
+ void testHideItem();
+ void testSystemItems();
+ void testEditBookmark();
+ void testEditAfterCreation();
+ void testEditMetadata();
+
+private:
+ PlacesItemModel* m_model;
+ QMap<QString, QDBusInterface *> m_interfacesMap;
+
+ void setBalooEnabled(bool enabled);
+ int indexOf(const QUrl &url);
+ QDBusInterface *fakeManager();
+ QDBusInterface *fakeDevice(const QString &udi);
+ QStringList placesUrls() const;
+ QStringList initialUrls() const;
+ void createPlaceItem(const QString &text, const QUrl &url, const QString &icon);
+};
+
+#define CHECK_PLACES_URLS(urls) \
+ QStringList tmp(urls); \
+ QStringList places = placesUrls(); \
+ while(!places.isEmpty()) { \
+ tmp.removeOne(places.takeFirst()); \
+ } \
+ if (!tmp.isEmpty()) { \
+ qWarning() << "Expected:" << urls; \
+ qWarning() << "Got:" << places; \
+ QCOMPARE(places, urls); \
+ }
+
+void PlacesItemModelTest::setBalooEnabled(bool enabled)
+{
+ KConfig config(QStringLiteral("baloofilerc"));
+ KConfigGroup basicSettings = config.group("Basic Settings");
+ basicSettings.writeEntry("Indexing-Enabled", enabled);
+ config.sync();
+}
+
+int PlacesItemModelTest::indexOf(const QUrl &url)
+{
+ for (int r = 0; r < m_model->count(); r++) {
+ if (m_model->placesItem(r)->url() == url) {
+ return r;
+ }
+ }
+ return -1;
+}
+
+QDBusInterface *PlacesItemModelTest::fakeManager()
+{
+ return fakeDevice(QStringLiteral("/org/kde/solid/fakehw"));
+}
+
+QDBusInterface *PlacesItemModelTest::fakeDevice(const QString &udi)
+{
+ if (m_interfacesMap.contains(udi)) {
+ return m_interfacesMap[udi];
+ }
+
+ QDBusInterface *iface = new QDBusInterface(QDBusConnection::sessionBus().baseService(), udi);
+ m_interfacesMap[udi] = iface;
+
+ return iface;
+}
+
+QStringList PlacesItemModelTest::placesUrls() const
+{
+ QStringList urls;
+ for (int row = 0; row < m_model->count(); ++row) {
+ urls << m_model->placesItem(row)->url().toDisplayString(QUrl::PreferLocalFile);
+ }
+ return urls;
+}
+
+void PlacesItemModelTest::createPlaceItem(const QString &text, const QUrl &url, const QString &icon)
+{
+ PlacesItem *item = m_model->createPlacesItem(text,
+ url,
+ icon);
+ QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted);
+ m_model->appendItemToGroup(item);
+ QTRY_COMPARE(itemsInsertedSpy.count(), 1);
+}
+
+void PlacesItemModelTest::init()
+{
+ m_model = new PlacesItemModel();
+ // WORKAROUND: need to wait for bookmark to load, check: PlacesItemModel::updateBookmarks
+ QTest::qWait(300);
+ QCOMPARE(m_model->count(), 17);
+}
+
+void PlacesItemModelTest::cleanup()
+{
+ delete m_model;
+ m_model = nullptr;
+}
+
+void PlacesItemModelTest::initTestCase()
+{
+ QStandardPaths::setTestModeEnabled(true);
+
+ const QString fakeHw = QFINDTESTDATA("data/fakecomputer.xml");
+ QVERIFY(!fakeHw.isEmpty());
+ qputenv("SOLID_FAKEHW", QFile::encodeName(fakeHw));
+
+ setBalooEnabled(true);
+ const QString bookmarsFileName = bookmarksFile();
+ if (QFileInfo::exists(bookmarsFileName)) {
+ // Ensure we'll have a clean bookmark file to start
+ QVERIFY(QFile::remove(bookmarsFileName));
+ }
+
+ qRegisterMetaType<KItemRangeList>();
+}
+
+void PlacesItemModelTest::cleanupTestCase()
+{
+ qDeleteAll(m_interfacesMap);
+ QFile::remove(bookmarksFile());
+}
+
+QStringList PlacesItemModelTest::initialUrls() const
+{
+ QStringList urls;
+
+ urls << QDir::homePath() << QStringLiteral("remote:/") << QStringLiteral(KDE_ROOT_PATH) << QStringLiteral("trash:/")
+ << QStringLiteral("timeline:/today") << QStringLiteral("timeline:/yesterday") << QStringLiteral("timeline:/thismonth") << QStringLiteral("timeline:/lastmonth")
+ << QStringLiteral("search:/documents") << QStringLiteral("search:/images") << QStringLiteral("search:/audio") << QStringLiteral("search:/videos")
+ << QStringLiteral("/media/cdrom") << QStringLiteral("/foreign") << QStringLiteral("/media/XO-Y4") << QStringLiteral("/media/nfs") << QStringLiteral("/media/floppy0");
+
+ return urls;
+}
+
+void PlacesItemModelTest::testModelSort()
+{
+ CHECK_PLACES_URLS(initialUrls());
+}
+
+void PlacesItemModelTest::testModelMove()
+{
+ QStringList urls = initialUrls();
+ KBookmarkManager *bookmarkManager = KBookmarkManager::managerForFile(bookmarksFile(), QStringLiteral("kfilePlaces"));
+ KBookmarkGroup root = bookmarkManager->root();
+ KBookmark systemRoot = m_model->placesItem(1)->bookmark();
+ KBookmark last = m_model->placesItem(m_model->count() - 1)->bookmark();
+
+ // try to move the "root" path to the end of the list
+ root.moveBookmark(systemRoot, last);
+ bookmarkManager->emitChanged(root);
+
+ // make sure that the items still grouped and the "root" item was moved to the end of places group instead
+ urls.move(1, 2);
+ CHECK_PLACES_URLS(urls);
+}
+
+void PlacesItemModelTest::testGroups()
+{
+ const auto groups = m_model->groups();
+
+ QCOMPARE(groups.size(), 4);
+ QCOMPARE(groups.at(0).first, 0);
+ QCOMPARE(groups.at(0).second.toString(), QStringLiteral("Places"));
+ QCOMPARE(groups.at(1).first, 4);
+ QCOMPARE(groups.at(1).second.toString(), QStringLiteral("Recently Saved"));
+ QCOMPARE(groups.at(2).first, 8);
+ QCOMPARE(groups.at(2).second.toString(), QStringLiteral("Search For"));
+ QCOMPARE(groups.at(3).first, 12);
+ QCOMPARE(groups.at(3).second.toString(), QStringLiteral("Devices"));
+}
+
+void PlacesItemModelTest::testPlaceItem_data()
+{
+ QTest::addColumn<QUrl>("url");
+ QTest::addColumn<bool>("expectedIsHidden");
+ QTest::addColumn<bool>("expectedIsSystemItem");
+ QTest::addColumn<PlacesItem::GroupType>("expectedGroupType");
+ QTest::addColumn<bool>("expectedStorageSetupNeeded");
+
+ // places
+ QTest::newRow("Places - Home") << QUrl::fromLocalFile(QDir::homePath()) << false << true << PlacesItem::PlacesType << false;
+
+ // baloo -search
+ QTest::newRow("Baloo - Documents") << QUrl("search:/documents") << false << true << PlacesItem::SearchForType << false;
+
+ // baloo - timeline
+ QTest::newRow("Baloo - Last Month") << QUrl("timeline:/lastmonth") << false << true << PlacesItem::RecentlySavedType << false;
+
+ // devices
+ QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << false << false << PlacesItem::DevicesType << false;
+}
+
+void PlacesItemModelTest::testPlaceItem()
+{
+ QFETCH(QUrl, url);
+ QFETCH(bool, expectedIsHidden);
+ QFETCH(bool, expectedIsSystemItem);
+ QFETCH(PlacesItem::GroupType, expectedGroupType);
+ QFETCH(bool, expectedStorageSetupNeeded);
+
+ const int index = indexOf(url);
+ PlacesItem *item = m_model->placesItem(index);
+ QCOMPARE(item->url(), url);
+ QCOMPARE(item->isHidden(), expectedIsHidden);
+ QCOMPARE(item->isSystemItem(), expectedIsSystemItem);
+ QCOMPARE(item->groupType(), expectedGroupType);
+ QCOMPARE(item->storageSetupNeeded(), expectedStorageSetupNeeded);
+}
+
+void PlacesItemModelTest::testTearDownDevice()
+{
+ const QUrl mediaUrl = QUrl::fromLocalFile(QStringLiteral("/media/XO-Y4"));
+ int index = indexOf(mediaUrl);
+ QVERIFY(index != -1);
+
+ auto ejectAction = m_model->ejectAction(index);
+ QVERIFY(!ejectAction);
+
+ auto teardownAction = m_model->teardownAction(index);
+ QVERIFY(teardownAction);
+
+ QCOMPARE(m_model->count(), 17);
+
+ QSignalSpy spyItemsRemoved(m_model, &PlacesItemModel::itemsRemoved);
+ fakeManager()->call(QStringLiteral("unplug"), "/org/kde/solid/fakehw/volume_part1_size_993284096");
+ QTRY_COMPARE(m_model->count(), 16);
+ QCOMPARE(spyItemsRemoved.count(), 1);
+ const QList<QVariant> spyItemsRemovedArgs = spyItemsRemoved.takeFirst();
+ const KItemRangeList removedRange = spyItemsRemovedArgs.at(0).value<KItemRangeList>();
+ QCOMPARE(removedRange.size(), 1);
+ QCOMPARE(removedRange.first().index, index);
+ QCOMPARE(removedRange.first().count, 1);
+
+ QCOMPARE(indexOf(mediaUrl), -1);
+
+ QSignalSpy spyItemsInserted(m_model, &PlacesItemModel::itemsInserted);
+ fakeManager()->call(QStringLiteral("plug"), "/org/kde/solid/fakehw/volume_part1_size_993284096");
+ QTRY_COMPARE(m_model->count(), 17);
+ QCOMPARE(spyItemsInserted.count(), 1);
+ index = indexOf(mediaUrl);
+
+ const QList<QVariant> args = spyItemsInserted.takeFirst();
+ const KItemRangeList insertedRange = args.at(0).value<KItemRangeList>();
+ QCOMPARE(insertedRange.size(), 1);
+ QCOMPARE(insertedRange.first().index, index);
+ QCOMPARE(insertedRange.first().count, 1);
+}
+
+void PlacesItemModelTest::testDefaultViewProperties_data()
+{
+ QTest::addColumn<QUrl>("url");
+ QTest::addColumn<DolphinView::Mode>("expectedViewMode");
+ QTest::addColumn<bool>("expectedPreviewShow");
+ QTest::addColumn<QList<QByteArray> >("expectedVisibleRole");
+
+ // places
+ QTest::newRow("Places - Home") << QUrl::fromLocalFile(QDir::homePath()) << DolphinView::IconsView << true << QList<QByteArray>({"text"});
+
+ // baloo -search
+ QTest::newRow("Baloo - Documents") << QUrl("search:/documents") << DolphinView::DetailsView << false << QList<QByteArray>({"text", "path"});
+
+ // audio files
+ QTest::newRow("Places - Audio") << QUrl("search:/audio") << DolphinView::DetailsView << false << QList<QByteArray>({"text", "artist", "album"});
+
+ // baloo - timeline
+ QTest::newRow("Baloo - Last Month") << QUrl("timeline:/lastmonth") << DolphinView::DetailsView << true << QList<QByteArray>({"text", "modificationtime"});
+
+ // devices
+ QTest::newRow("Devices - Floppy") << QUrl("file:///media/floppy0") << DolphinView::IconsView << true << QList<QByteArray>({"text"});
+
+}
+
+void PlacesItemModelTest::testDefaultViewProperties()
+{
+ QFETCH(QUrl, url);
+ QFETCH(DolphinView::Mode, expectedViewMode);
+ QFETCH(bool, expectedPreviewShow);
+ QFETCH(QList<QByteArray>, expectedVisibleRole);
+
+ ViewProperties properties(m_model->convertedUrl(url));
+ QCOMPARE(properties.viewMode(), expectedViewMode);
+ QCOMPARE(properties.previewsShown(), expectedPreviewShow);
+ QCOMPARE(properties.visibleRoles(), expectedVisibleRole);
+}
+
+void PlacesItemModelTest::testClear()
+{
+ QCOMPARE(m_model->count(), 17);
+ m_model->clear();
+ QCOMPARE(m_model->count(), 0);
+ QCOMPARE(m_model->hiddenCount(), 0);
+}
+
+void PlacesItemModelTest::testHideItem()
+{
+ const QUrl mediaUrl = QUrl::fromLocalFile(QStringLiteral("/media/XO-Y4"));
+ const int index = indexOf(mediaUrl);
+
+ PlacesItem *item = m_model->placesItem(index);
+
+ QSignalSpy spyItemsRemoved(m_model, &PlacesItemModel::itemsRemoved);
+ QList<QVariant> spyItemsRemovedArgs;
+ KItemRangeList removedRange;
+
+ QSignalSpy spyItemsInserted(m_model, &PlacesItemModel::itemsInserted);
+ QList<QVariant> spyItemsInsertedArgs;
+ KItemRangeList insertedRange;
+ QVERIFY(item);
+
+ // hide an item
+ item->setHidden(true);
+
+ // check if items removed was fired
+ QTRY_COMPARE(m_model->count(), 16);
+ QCOMPARE(spyItemsRemoved.count(), 1);
+ spyItemsRemovedArgs = spyItemsRemoved.takeFirst();
+ removedRange = spyItemsRemovedArgs.at(0).value<KItemRangeList>();
+ QCOMPARE(removedRange.size(), 1);
+ QCOMPARE(removedRange.first().index, index);
+ QCOMPARE(removedRange.first().count, 1);
+
+ // allow model to show hidden items
+ m_model->setHiddenItemsShown(true);
+
+ // check if the items inserted was fired
+ spyItemsInsertedArgs = spyItemsInserted.takeFirst();
+ insertedRange = spyItemsInsertedArgs.at(0).value<KItemRangeList>();
+ QCOMPARE(insertedRange.size(), 1);
+ QCOMPARE(insertedRange.first().index, index);
+ QCOMPARE(insertedRange.first().count, 1);
+
+ // mark item as visible
+ item = m_model->placesItem(index);
+ item->setHidden(false);
+
+ // mark model to hide invisible items
+ m_model->setHiddenItemsShown(true);
+
+ QTRY_COMPARE(m_model->count(), 17);
+}
+
+void PlacesItemModelTest::testSystemItems()
+{
+ QCOMPARE(m_model->count(), 17);
+ for (int r = 0; r < m_model->count(); r++) {
+ QCOMPARE(m_model->placesItem(r)->isSystemItem(), !m_model->placesItem(r)->device().isValid());
+ }
+
+ // create a new entry (non system item)
+ PlacesItem *item = m_model->createPlacesItem(QStringLiteral("Temporary Dir"),
+ QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)),
+ QString());
+
+ QSignalSpy itemsInsertedSpy(m_model, &PlacesItemModel::itemsInserted);
+ m_model->appendItemToGroup(item);
+
+ // check if the new entry was created
+ QTRY_COMPARE(itemsInsertedSpy.count(), 1);
+ QList<QVariant> args = itemsInsertedSpy.takeFirst();
+ KItemRangeList range = args.at(0).value<KItemRangeList>();
+ QCOMPARE(range.first().index, 4);
+ QCOMPARE(range.first().count, 1);
+ QVERIFY(!m_model->placesItem(4)->isSystemItem());
+ QCOMPARE(m_model->count(), 18);
+
+ // remove new entry
+ QSignalSpy itemsRemovedSpy(m_model, &PlacesItemModel::itemsRemoved);
+ m_model->removeItem(4);
+ m_model->saveBookmarks();
+ QTRY_COMPARE(itemsRemovedSpy.count(), 1);
+ args = itemsRemovedSpy.takeFirst();
+ range = args.at(0).value<KItemRangeList>();
+ QCOMPARE(range.first().index, 4);
+ QCOMPARE(range.first().count, 1);
+ QTRY_COMPARE(m_model->count(), 17);
+}
+
+void PlacesItemModelTest::testEditBookmark()
+{
+ QScopedPointer<PlacesItemModel> other(new PlacesItemModel());
+
+ createPlaceItem(QStringLiteral("Temporary Dir"), QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)), QString());
+
+ QSignalSpy itemsChangedSply(m_model, &PlacesItemModel::itemsChanged);
+ m_model->item(4)->setText(QStringLiteral("Renamed place"));
+ m_model->saveBookmarks();
+ QTRY_COMPARE(itemsChangedSply.count(), 1);
+ QList<QVariant> args = itemsChangedSply.takeFirst();
+ KItemRangeList range = args.at(0).value<KItemRangeList>();
+ QCOMPARE(range.first().index, 4);
+ QCOMPARE(range.first().count, 1);
+ QSet<QByteArray> roles = args.at(1).value<QSet<QByteArray> >();
+ QCOMPARE(roles.size(), 1);
+ QCOMPARE(*roles.begin(), QByteArrayLiteral("text"));
+ QCOMPARE(m_model->item(4)->text(), QStringLiteral("Renamed place"));
+
+ // check if the item was updated in the other model
+ QTRY_COMPARE(other->item(4)->text(), QStringLiteral("Renamed place"));
+
+ // remove new entry
+ QSignalSpy itemsRemovedSpy(m_model, &PlacesItemModel::itemsRemoved);
+ m_model->removeItem(4);
+ m_model->saveBookmarks();
+ QTRY_COMPARE(itemsRemovedSpy.count(), 1);
+ args = itemsRemovedSpy.takeFirst();
+ range = args.at(0).value<KItemRangeList>();
+ QCOMPARE(range.first().index, 4);
+ QCOMPARE(range.first().count, 1);
+ QTRY_COMPARE(m_model->count(), 17);
+}
+
+void PlacesItemModelTest::testEditAfterCreation()
+{
+ createPlaceItem(QStringLiteral("Temporary Dir"), QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)), QString());
+
+ PlacesItemModel *model = new PlacesItemModel();
+ QTRY_COMPARE(model->count(), m_model->count());
+
+ PlacesItem *item = m_model->placesItem(4);
+ item->setText(QStringLiteral("Renamed place"));
+ m_model->saveBookmarks();
+
+ QTRY_COMPARE(model->count(), m_model->count());
+ QTRY_COMPARE(model->placesItem(4)->text(), m_model->placesItem(4)->text());
+ QTRY_COMPARE(model->placesItem(4)->bookmark().metaDataItem(QStringLiteral("OnlyInApp")),
+ m_model->placesItem(4)->bookmark().metaDataItem(QStringLiteral("OnlyInApp")));
+ QTRY_COMPARE(model->placesItem(4)->icon(), m_model->placesItem(4)->icon());
+ QTRY_COMPARE(model->placesItem(4)->url(), m_model->placesItem(4)->url());
+
+ m_model->removeItem(4);
+ m_model->saveBookmarks();
+ QTRY_COMPARE(model->count(), m_model->count());
+}
+
+void PlacesItemModelTest::testEditMetadata()
+{
+ createPlaceItem(QStringLiteral("Temporary Dir"), QUrl::fromLocalFile(QStandardPaths::writableLocation(QStandardPaths::TempLocation)), QString());
+
+ PlacesItemModel *model = new PlacesItemModel();
+ QTRY_COMPARE(model->count(), m_model->count());
+
+ PlacesItem *item = m_model->placesItem(4);
+ item->bookmark().setMetaDataItem(QStringLiteral("OnlyInApp"), KAboutData::applicationData().componentName());
+ m_model->saveBookmarks();
+
+ QTRY_COMPARE(model->count(), m_model->count());
+ QTRY_COMPARE(model->placesItem(4)->bookmark().metaDataItem(QStringLiteral("OnlyInApp")),
+ KAboutData::applicationData().componentName());
+ QTRY_COMPARE(model->placesItem(4)->text(), m_model->placesItem(4)->text());
+ QTRY_COMPARE(model->placesItem(4)->bookmark().metaDataItem(QStringLiteral("OnlyInApp")),
+ m_model->placesItem(4)->bookmark().metaDataItem(QStringLiteral("OnlyInApp")));
+ QTRY_COMPARE(model->placesItem(4)->icon(), m_model->placesItem(4)->icon());
+ QTRY_COMPARE(model->placesItem(4)->url(), m_model->placesItem(4)->url());
+
+ m_model->removeItem(4);
+ m_model->saveBookmarks();
+ QTRY_COMPARE(model->count(), m_model->count());
+}
+
+QTEST_MAIN(PlacesItemModelTest)
+
+#include "placesitemmodeltest.moc"
void ViewPropertiesTest::cleanup()
{
delete m_testDir;
- m_testDir = 0;
+ m_testDir = nullptr;
GeneralSettings::self()->setGlobalViewProps(m_globalViewProps);
GeneralSettings::self()->save();
public:
DolphinFileItemListWidget(KItemListWidgetInformant* informant, QGraphicsItem* parent);
- virtual ~DolphinFileItemListWidget();
+ ~DolphinFileItemListWidget() override;
protected:
- virtual void refreshCache() Q_DECL_OVERRIDE;
+ void refreshCache() override;
private:
static QPixmap overlayForState(KVersionControlPlugin::ItemVersion version, int size);
#include <kitemviews/kitemlistcontroller.h>
#include <kitemviews/kitemliststyleoption.h>
+#include <KIO/PreviewJob>
#include <views/viewmodecontroller.h>
updateGridSize();
const KConfigGroup globalConfig(KSharedConfig::openConfig(), "PreviewSettings");
- const QStringList plugins = globalConfig.readEntry("Plugins", QStringList()
- << QStringLiteral("directorythumbnail")
- << QStringLiteral("imagethumbnail")
- << QStringLiteral("jpegthumbnail"));
- setEnabledPlugins(plugins);
+ setEnabledPlugins(globalConfig.readEntry("Plugins", KIO::PreviewJob::defaultPlugins()));
endTransaction();
}
Q_OBJECT
public:
- explicit DolphinItemListView(QGraphicsWidget* parent = 0);
- virtual ~DolphinItemListView();
+ explicit DolphinItemListView(QGraphicsWidget* parent = nullptr);
+ ~DolphinItemListView() override;
void setZoomLevel(int level);
int zoomLevel() const;
void writeSettings();
protected:
- virtual KItemListWidgetCreatorBase* defaultWidgetCreator() const Q_DECL_OVERRIDE;
- virtual bool itemLayoutSupportsItemExpanding(ItemLayout layout) const Q_DECL_OVERRIDE;
- virtual void onItemLayoutChanged(ItemLayout current, ItemLayout previous) Q_DECL_OVERRIDE;
- virtual void onPreviewsShownChanged(bool shown) Q_DECL_OVERRIDE;
- virtual void onVisibleRolesChanged(const QList<QByteArray>& current,
- const QList<QByteArray>& previous) Q_DECL_OVERRIDE;
+ KItemListWidgetCreatorBase* defaultWidgetCreator() const override;
+ bool itemLayoutSupportsItemExpanding(ItemLayout layout) const override;
+ void onItemLayoutChanged(ItemLayout current, ItemLayout previous) override;
+ void onPreviewsShownChanged(bool shown) override;
+ void onVisibleRolesChanged(const QList<QByteArray>& current,
+ const QList<QByteArray>& previous) override;
- virtual void updateFont() Q_DECL_OVERRIDE;
+ void updateFont() override;
private:
void updateGridSize();
}
DolphinNewFileMenuObserver::DolphinNewFileMenuObserver() :
- QObject(0)
+ QObject(nullptr)
{
}
private:
DolphinNewFileMenuObserver();
- virtual ~DolphinNewFileMenuObserver();
+ ~DolphinNewFileMenuObserver() override;
friend class DolphinNewFileMenuObserverSingleton;
};
Q_OBJECT
public:
DolphinRemoteEncoding(QObject* parent, DolphinViewActionHandler* actionHandler);
- ~DolphinRemoteEncoding();
+ ~DolphinRemoteEncoding() override;
public Q_SLOTS:
void slotAboutToOpenUrl();
m_viewPropertiesContext(),
m_mode(DolphinView::IconsView),
m_visibleRoles(),
- m_topLayout(0),
- m_model(0),
- m_view(0),
- m_container(0),
- m_toolTipManager(0),
- m_selectionChangedTimer(0),
+ m_topLayout(nullptr),
+ m_model(nullptr),
+ m_view(nullptr),
+ m_container(nullptr),
+ m_toolTipManager(nullptr),
+ m_selectionChangedTimer(nullptr),
m_currentItemUrl(),
m_scrollToCurrentItem(false),
m_restoredContentsPosition(),
m_selectedUrls(),
m_clearSelectionBeforeSelectingNewItems(false),
m_markFirstNewlySelectedItemAsCurrent(false),
- m_versionControlObserver(0),
+ m_versionControlObserver(nullptr),
m_twoClicksRenamingTimer(nullptr)
{
m_topLayout = new QVBoxLayout(this);
#endif
QString groupName;
- QMenu* groupMenu = 0;
+ QMenu* groupMenu = nullptr;
// Add all roles to the menu that can be shown or hidden by the user
const QList<KFileItemModel::RoleInfo> rolesInfo = KFileItemModel::rolesInformation();
}
const QString text = m_model->roleDescription(info.role);
- QAction* action = 0;
+ QAction* action = nullptr;
if (info.group.isEmpty()) {
action = menu->addAction(text);
} else {
void DolphinView::slotModelChanged(KItemModelBase* current, KItemModelBase* previous)
{
- if (previous != 0) {
+ if (previous != nullptr) {
Q_ASSERT(qobject_cast<KFileItemModel*>(previous));
KFileItemModel* fileItemModel = static_cast<KFileItemModel*>(previous);
disconnect(fileItemModel, &KFileItemModel::directoryLoadingCompleted, this, &DolphinView::slotDirectoryLoadingCompleted);
- m_versionControlObserver->setModel(0);
+ m_versionControlObserver->setModel(nullptr);
}
if (current) {
*/
DolphinView(const QUrl& url, QWidget* parent);
- virtual ~DolphinView();
+ ~DolphinView() override;
/**
* Returns the current active URL, where all actions are applied.
void stopLoading();
/** Activates the view if the item list container gets focus. */
- virtual bool eventFilter(QObject* watched, QEvent* event) Q_DECL_OVERRIDE;
+ bool eventFilter(QObject* watched, QEvent* event) override;
signals:
/**
protected:
/** Changes the zoom level if Control is pressed during a wheel event. */
- virtual void wheelEvent(QWheelEvent* event) Q_DECL_OVERRIDE;
+ void wheelEvent(QWheelEvent* event) override;
- virtual void hideEvent(QHideEvent* event) Q_DECL_OVERRIDE;
- virtual bool event(QEvent* event) Q_DECL_OVERRIDE;
+ void hideEvent(QHideEvent* event) override;
+ bool event(QEvent* event) override;
private slots:
/**
DolphinViewActionHandler::DolphinViewActionHandler(KActionCollection* collection, QObject* parent) :
QObject(parent),
m_actionCollection(collection),
- m_currentView(0),
+ m_currentView(nullptr),
m_sortByActions(),
m_visibleRoles()
{
Q_ASSERT(view);
if (m_currentView) {
- disconnect(m_currentView, 0, this, 0);
+ disconnect(m_currentView, nullptr, this, nullptr);
}
m_currentView = view;
}
QString groupName;
- KActionMenu* groupMenu = 0;
- QActionGroup* groupMenuGroup = 0;
+ KActionMenu* groupMenu = nullptr;
+ QActionGroup* groupMenuGroup = nullptr;
bool indexingEnabled = false;
#ifdef HAVE_BALOO
continue;
}
- KToggleAction* action = 0;
+ KToggleAction* action = nullptr;
const QString name = groupPrefix + info.role;
if (info.group.isEmpty()) {
action = m_actionCollection->add<KToggleAction>(name);
void DolphinViewActionHandler::slotProperties()
{
- KPropertiesDialog* dialog = 0;
+ KPropertiesDialog* dialog = nullptr;
const KFileItemList list = m_currentView->selectedItems();
if (list.isEmpty()) {
const QUrl url = m_currentView->url();
return job;
}
- return 0;
+ return nullptr;
}
QDialog(parent),
m_renameOneItem(false),
m_newName(),
- m_lineEdit(0),
+ m_lineEdit(nullptr),
m_items(items),
m_allExtensionsDifferent(true),
- m_spinBox(0)
+ m_spinBox(nullptr)
{
const QSize minSize = minimumSize();
setMinimumSize(QSize(320, minSize.height()));
QVBoxLayout* topLayout = new QVBoxLayout(page);
- QLabel* editLabel = 0;
+ QLabel* editLabel = nullptr;
if (m_renameOneItem) {
m_newName = items.first().name();
editLabel = new QLabel(xi18nc("@label:textbox", "Rename the item <filename>%1</filename> to:", m_newName),
public:
explicit RenameDialog(QWidget* parent, const KFileItemList& items);
- virtual ~RenameDialog();
+ ~RenameDialog() override;
signals:
void renamingFinished(const QList<QUrl>& urls);
DolphinFileMetaDataWidget::DolphinFileMetaDataWidget(QWidget* parent) :
QWidget(parent),
- m_preview(0),
- m_name(0),
- m_fileMetaDataWidget(0)
+ m_preview(nullptr),
+ m_name(nullptr),
+ m_fileMetaDataWidget(nullptr)
{
// Create widget for file preview
m_preview = new QLabel(this);
Q_OBJECT
public:
- DolphinFileMetaDataWidget(QWidget* parent = 0);
- virtual ~DolphinFileMetaDataWidget();
+ DolphinFileMetaDataWidget(QWidget* parent = nullptr);
+ ~DolphinFileMetaDataWidget() override;
void setPreview(const QPixmap& pixmap);
QPixmap preview() const;
ToolTipManager::ToolTipManager(QWidget* parent) :
QObject(parent),
- m_showToolTipTimer(0),
- m_contentRetrievalTimer(0),
- m_transientParent(0),
- m_fileMetaDataWidget(0),
+ m_showToolTipTimer(nullptr),
+ m_contentRetrievalTimer(nullptr),
+ m_transientParent(nullptr),
+ m_fileMetaDataWidget(nullptr),
m_toolTipRequested(false),
m_metaDataRequested(false),
m_appliedWaitCursor(false),
public:
explicit ToolTipManager(QWidget* parent);
- virtual ~ToolTipManager();
+ ~ToolTipManager() override;
/**
* Triggers the showing of the tooltip for the item \p item
MissingVersion
};
- KVersionControlPlugin(QObject* parent = 0);
- virtual ~KVersionControlPlugin();
+ KVersionControlPlugin(QObject* parent = nullptr);
+ ~KVersionControlPlugin() override;
/**
* Returns the name of the file which stores
UpdateItemStatesThread::UpdateItemStatesThread(KVersionControlPlugin* plugin,
const QMap<QString, QVector<VersionControlObserver::ItemState> >& itemStates) :
QThread(),
- m_globalPluginMutex(0),
+ m_globalPluginMutex(nullptr),
m_plugin(plugin),
m_itemStates(itemStates)
{
*/
UpdateItemStatesThread(KVersionControlPlugin* plugin,
const QMap<QString, QVector<VersionControlObserver::ItemState> >& itemStates);
- virtual ~UpdateItemStatesThread();
+ ~UpdateItemStatesThread() override;
QMap<QString, QVector<VersionControlObserver::ItemState> > itemStates() const;
protected:
- virtual void run() Q_DECL_OVERRIDE;
+ void run() override;
private:
QMutex* m_globalPluginMutex; // Protects the m_plugin globally
m_pendingItemStatesUpdate(false),
m_versionedDirectory(false),
m_silentUpdate(false),
- m_model(0),
- m_dirVerificationTimer(0),
- m_plugin(0),
- m_updateItemStatesThread(0)
+ m_model(nullptr),
+ m_dirVerificationTimer(nullptr),
+ m_plugin(nullptr),
+ m_updateItemStatesThread(nullptr)
{
// The verification timer specifies the timeout until the shown directory
// is checked whether it is versioned. Per default it is assumed that users
{
if (m_plugin) {
m_plugin->disconnect(this);
- m_plugin = 0;
+ m_plugin = nullptr;
}
}
void VersionControlObserver::slotThreadFinished()
{
UpdateItemStatesThread* thread = m_updateItemStatesThread;
- m_updateItemStatesThread = 0; // The thread deletes itself automatically (see updateItemStates())
+ m_updateItemStatesThread = nullptr; // The thread deletes itself automatically (see updateItemStates())
if (!m_plugin || !thread) {
return;
if (!pluginsAvailable) {
// A searching for plugins has already been done, but no
// plugins are installed
- return 0;
+ return nullptr;
}
if (plugins.isEmpty()) {
}
if (plugins.isEmpty()) {
pluginsAvailable = false;
- return 0;
+ return nullptr;
}
}
// We use the number of upUrl() calls to find the best matching plugin
// for the given directory. The smaller value, the better it is (0 is best).
- KVersionControlPlugin* bestPlugin = 0;
+ KVersionControlPlugin* bestPlugin = nullptr;
int bestScore = INT_MAX;
// Verify whether the current directory contains revision information
Q_OBJECT
public:
- explicit VersionControlObserver(QObject* parent = 0);
- virtual ~VersionControlObserver();
+ explicit VersionControlObserver(QObject* parent = nullptr);
+ ~VersionControlObserver() override;
void setModel(KFileItemModel* model);
KFileItemModel* model() const;
Q_OBJECT
public:
- explicit ViewModeController(QObject* parent = 0);
- virtual ~ViewModeController();
+ explicit ViewModeController(QObject* parent = nullptr);
+ ~ViewModeController() override;
/**
* @return URL that is shown by the view mode implementation.
ViewProperties::ViewProperties(const QUrl& url) :
m_changedProps(false),
m_autoSave(true),
- m_node(0)
+ m_node(nullptr)
{
GeneralSettings* settings = GeneralSettings::self();
const bool useGlobalViewProps = settings->globalViewProps() || url.isEmpty();
}
delete m_node;
- m_node = 0;
+ m_node = nullptr;
}
void ViewProperties::setViewMode(DolphinView::Mode mode)