File indexing completed on 2024-06-16 05:24:47

0001 /*
0002     This file is part of the Kasten Framework, made within the KDE community.
0003 
0004     SPDX-FileCopyrightText: 2009 Friedrich W. H. Kossebau <kossebau@kde.org>
0005 
0006     SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
0007 */
0008 
0009 #include "bookmarkeditpopup.hpp"
0010 
0011 // Okteta core
0012 // #include <Okteta/Bookmark>
0013 // Qt
0014 #include <QLineEdit>
0015 #include <QIcon>
0016 
0017 namespace Kasten {
0018 
0019 BookmarkEditPopup::BookmarkEditPopup(QWidget* parent)
0020     : AbstractLinePopup(parent)
0021 {
0022     setAttribute(Qt::WA_DeleteOnClose, true);
0023 
0024     setIcon(QIcon::fromTheme(QStringLiteral("bookmark-new")));
0025 
0026     mBookmarkNameLineEdit = new QLineEdit(this);
0027     mBookmarkNameLineEdit->setClearButtonEnabled(true);
0028     connect(mBookmarkNameLineEdit, &QLineEdit::returnPressed, this, &AbstractLinePopup::accept);
0029 
0030     setWidget(mBookmarkNameLineEdit);
0031 
0032     connect(this, &AbstractLinePopup::finished, this, &BookmarkEditPopup::onFinished);
0033 }
0034 
0035 BookmarkEditPopup::~BookmarkEditPopup() = default;
0036 
0037 QString BookmarkEditPopup::name() const { return mBookmarkNameLineEdit->text(); }
0038 
0039 void BookmarkEditPopup::setName(const QString& name)
0040 {
0041     mBookmarkNameLineEdit->setText(name);
0042     mBookmarkNameLineEdit->selectAll();
0043 }
0044 
0045 void BookmarkEditPopup::setCursorPosition(int cursorPosition)
0046 {
0047     m_cursorPosition = cursorPosition;
0048 }
0049 
0050 void BookmarkEditPopup::onFinished(int result)
0051 {
0052     if (result != Accepted) {
0053         return;
0054     }
0055 
0056     Q_EMIT bookmarkAccepted(m_cursorPosition, name());
0057 }
0058 
0059 }
0060 
0061 #include "moc_bookmarkeditpopup.cpp"