From 13efdf86d50df9a04db0cdc18eb288f15513e28e Mon Sep 17 00:00:00 2001 From: xarkes Date: Thu, 1 Mar 2018 16:43:27 +0100 Subject: [PATCH] Removed old Notepad --- src/MainWindow.cpp | 15 - src/MainWindow.h | 3 - src/MainWindow.ui | 14 - src/cutter.cpp | 7 - src/cutter.h | 3 - src/cutter.pro | 3 - src/dialogs/OptionsDialog.cpp | 3 - src/widgets/HexdumpWidget.ui | 8 - src/widgets/Notepad.cpp | 322 ----------------- src/widgets/Notepad.h | 63 ---- src/widgets/Notepad.ui | 649 ---------------------------------- 11 files changed, 1090 deletions(-) delete mode 100644 src/widgets/Notepad.cpp delete mode 100644 src/widgets/Notepad.h delete mode 100644 src/widgets/Notepad.ui diff --git a/src/MainWindow.cpp b/src/MainWindow.cpp index 13bd79f3..701bcc68 100644 --- a/src/MainWindow.cpp +++ b/src/MainWindow.cpp @@ -55,7 +55,6 @@ #include "widgets/FlagsWidget.h" #include "widgets/VisualNavbar.h" #include "widgets/Dashboard.h" -#include "widgets/Notepad.h" #include "widgets/Sidebar.h" #include "widgets/SdbDock.h" #include "widgets/Omnibar.h" @@ -222,7 +221,6 @@ void MainWindow::initUI() ADD_DOCK(StringsWidget, stringsDock, ui->actionStrings); ADD_DOCK(FlagsWidget, flagsDock, ui->actionFlags); ADD_DOCK(JupyterWidget, jupyterDock, ui->actionJupyter); - ADD_DOCK(Notepad, notepadDock, ui->actionNotepad); ADD_DOCK(Dashboard, dashboardDock, ui->actionDashboard); ADD_DOCK(SdbDock, sdbDock, ui->actionSDBBrowser); ADD_DOCK(ClassesWidget, classesDock, ui->actionClasses); @@ -338,12 +336,6 @@ void MainWindow::finalizeOpen() core->cmd("fs sections"); refreshAll(); - if (core->getNotes().isEmpty()) - { - core->setNotes(tr("# Binary information\n\n") + core->cmd("i") + - "\n" + core->cmd("ie") + "\n" + core->cmd("iM") + "\n"); - } - addOutput(tr(" > Finished, happy reversing :)")); // Add fortune message addOutput("\n" + core->cmd("fo")); @@ -543,7 +535,6 @@ void MainWindow::restoreDocks() tabifyDockWidget(dashboardDock, importsDock); tabifyDockWidget(dashboardDock, exportsDock); tabifyDockWidget(dashboardDock, symbolsDock); - tabifyDockWidget(dashboardDock, notepadDock); tabifyDockWidget(dashboardDock, classesDock); tabifyDockWidget(dashboardDock, resourcesDock); tabifyDockWidget(dashboardDock, vTablesDock); @@ -581,7 +572,6 @@ void MainWindow::showDefaultDocks() consoleDock, importsDock, symbolsDock, - notepadDock, graphDock, disassemblyDock, sidebarDock, @@ -622,11 +612,6 @@ void MainWindow::resetToDefaultLayout() Core()->setMemoryWidgetPriority(CutterCore::MemoryWidgetType::Disassembly); } -void MainWindow::sendToNotepad(const QString &txt) -{ - core->setNotes(core->getNotes() + "```\n" + txt + "\n```"); -} - void MainWindow::addOutput(const QString &msg) { consoleDock->addOutput(msg); diff --git a/src/MainWindow.h b/src/MainWindow.h index d90606cb..34ce62d1 100644 --- a/src/MainWindow.h +++ b/src/MainWindow.h @@ -17,7 +17,6 @@ class CutterCore; class Omnibar; class PreviewWidget; -class Notepad; class Highlighter; class AsciiHighlighter; class VisualNavbar; @@ -86,7 +85,6 @@ public: void setFilename(const QString &fn); void addOutput(const QString &msg); void addDebugOutput(const QString &msg); - void sendToNotepad(const QString &txt); void refreshOmniBar(const QStringList &flags); public slots: @@ -166,7 +164,6 @@ private: QList dockWidgets; QMap dockWidgetActions; - Notepad *notepadDock = nullptr; DisassemblyWidget *disassemblyDock = nullptr; SidebarWidget *sidebarDock = nullptr; HexdumpWidget *hexdumpDock = nullptr; diff --git a/src/MainWindow.ui b/src/MainWindow.ui index f6c0b4ed..935a4621 100644 --- a/src/MainWindow.ui +++ b/src/MainWindow.ui @@ -258,7 +258,6 @@ border-top: 0px; - @@ -856,19 +855,6 @@ QToolButton:pressed { Show/Hide bottom pannel - - - Send to Notepad - - - - - true - - - Notepad - - true diff --git a/src/cutter.cpp b/src/cutter.cpp index 70fb6e91..1a34d573 100644 --- a/src/cutter.cpp +++ b/src/cutter.cpp @@ -1349,7 +1349,6 @@ void CutterCore::openProject(const QString &name) cmd("Po " + name); QString notes = QString::fromUtf8(QByteArray::fromBase64(cmd("Pnj").toUtf8())); - setNotes(notes); } void CutterCore::saveProject(const QString &name) @@ -1366,12 +1365,6 @@ bool CutterCore::isProjectNameValid(const QString &name) return regexp.exactMatch(name) && !name.endsWith(".zip") ; } -void CutterCore::setNotes(const QString ¬es) -{ - this->notes = notes; - emit notesChanged(this->notes); -} - QList CutterCore::disassembleLines(RVA offset, int lines) { QJsonArray array = cmdj(QString("pdJ ") + QString::number(lines) + QString(" @ ") + QString::number(offset)).array(); diff --git a/src/cutter.h b/src/cutter.h index 986d0836..5c7b7e12 100644 --- a/src/cutter.h +++ b/src/cutter.h @@ -349,9 +349,6 @@ public: static bool isProjectNameValid(const QString &name); - const QString &getNotes() const { return notes; } - void setNotes(const QString ¬es); - QList getRBinPluginDescriptions(const QString &type = nullptr); QList getAllFunctions(); diff --git a/src/cutter.pro b/src/cutter.pro index 185261ba..67c20cb6 100644 --- a/src/cutter.pro +++ b/src/cutter.pro @@ -82,7 +82,6 @@ SOURCES += \ widgets/FlagsWidget.cpp \ widgets/FunctionsWidget.cpp \ widgets/ImportsWidget.cpp \ - widgets/Notepad.cpp \ widgets/Omnibar.cpp \ widgets/PieView.cpp \ widgets/RelocsWidget.cpp \ @@ -147,7 +146,6 @@ HEADERS += \ widgets/FlagsWidget.h \ widgets/FunctionsWidget.h \ widgets/ImportsWidget.h \ - widgets/Notepad.h \ widgets/Omnibar.h \ widgets/PieView.h \ widgets/RelocsWidget.h \ @@ -202,7 +200,6 @@ FORMS += \ widgets/ExportsWidget.ui \ widgets/FunctionsWidget.ui \ widgets/ImportsWidget.ui \ - widgets/Notepad.ui \ widgets/SdbDock.ui \ widgets/RelocsWidget.ui \ widgets/SectionsDock.ui \ diff --git a/src/dialogs/OptionsDialog.cpp b/src/dialogs/OptionsDialog.cpp index a4e37c7b..5ac21147 100644 --- a/src/dialogs/OptionsDialog.cpp +++ b/src/dialogs/OptionsDialog.cpp @@ -4,9 +4,6 @@ #include "dialogs/NewFileDialog.h" #include "utils/Helpers.h" -// TODO: remove us -#include "widgets/Notepad.h" - #include #include #include diff --git a/src/widgets/HexdumpWidget.ui b/src/widgets/HexdumpWidget.ui index 00d9af02..e1ea3eaa 100644 --- a/src/widgets/HexdumpWidget.ui +++ b/src/widgets/HexdumpWidget.ui @@ -712,14 +712,6 @@ QToolTip { Hexdump side panel - - - Send to notepad - - - Send to notepad - - Undefine diff --git a/src/widgets/Notepad.cpp b/src/widgets/Notepad.cpp deleted file mode 100644 index 5f49cd66..00000000 --- a/src/widgets/Notepad.cpp +++ /dev/null @@ -1,322 +0,0 @@ -#include "Notepad.h" -#include "ui_Notepad.h" - -#include "MainWindow.h" - -#include "utils/MdHighlighter.h" -#include "utils/Highlighter.h" -#include "utils/SvgIconEngine.h" - -#include -#include -#include -#include -#include -#include - - -Notepad::Notepad(MainWindow *main, QWidget *parent) : - QDockWidget(parent), - ui(new Ui::Notepad) -{ - ui->setupUi(this); - - ui->undoButton->setIcon(QIcon(new SvgIconEngine(QString(":/img/icons/undo.svg"), palette().buttonText().color()))); - ui->redoButton->setIcon(QIcon(new SvgIconEngine(QString(":/img/icons/redo.svg"), palette().buttonText().color()))); - - // Radare core found in: - this->main = main; - - highlighter = new MdHighlighter(ui->notepadTextEdit->document()); - isFirstTime = true; - this->notesTextEdit = ui->notepadTextEdit; - - // Increase notes document inner margin - QTextDocument *docu = this->notesTextEdit->document(); - docu->setDocumentMargin(10); - - // Context menu - ui->notepadTextEdit->setContextMenuPolicy(Qt::CustomContextMenu); - connect(ui->notepadTextEdit, SIGNAL(customContextMenuRequested(const QPoint &)), - this, SLOT(showNotepadContextMenu(const QPoint &))); - connect(ui->notepadTextEdit, SIGNAL(textChanged()), this, SLOT(textChanged())); - - connect(CutterCore::getInstance(), SIGNAL(notesChanged(const QString &)), this, SLOT(updateNotes(const QString &))); - - updateNotes(CutterCore::getInstance()->getNotes()); -} - -Notepad::~Notepad() {} - -void Notepad::on_fontButton_clicked() -{ - bool ok = true; - - QFont font = QFontDialog::getFont(&ok, ui->notepadTextEdit->font(), this) ; - if (ok) - { - // the user clicked OK and font is set to the font the user selected - //ui->notepadTextEdit->setFont(font); - //ui->previewTextEdit->setFont(font); - this->setFonts(font); - } -} - -void Notepad::setFonts(QFont font) -{ - ui->notepadTextEdit->setFont(font); -} - -void Notepad::on_boldButton_clicked() -{ - QTextCursor cursor = ui->notepadTextEdit->textCursor(); - if (cursor.hasSelection()) - { - QString text = cursor.selectedText(); - cursor.removeSelectedText(); - cursor.insertText("**" + text + "**"); - } - else - { - cursor.insertText("****"); - } -} - -void Notepad::on_italicsButton_clicked() -{ - QTextCursor cursor = ui->notepadTextEdit->textCursor(); - if (cursor.hasSelection()) - { - QString text = cursor.selectedText(); - cursor.removeSelectedText(); - cursor.insertText("*" + text + "*"); - } - else - { - cursor.insertText("**"); - } -} - -void Notepad::on_h1Button_clicked() -{ - QTextCursor cursor = ui->notepadTextEdit->textCursor(); - if (cursor.hasSelection()) - { - QString text = cursor.selectedText(); - cursor.removeSelectedText(); - cursor.insertText("# " + text); - } - else - { - cursor.insertText("# "); - } -} - -void Notepad::on_h2Button_clicked() -{ - QTextCursor cursor = ui->notepadTextEdit->textCursor(); - if (cursor.hasSelection()) - { - QString text = cursor.selectedText(); - cursor.removeSelectedText(); - cursor.insertText("## " + text); - } - else - { - cursor.insertText("## "); - } -} - -void Notepad::on_h3Button_clicked() -{ - QTextCursor cursor = ui->notepadTextEdit->textCursor(); - if (cursor.hasSelection()) - { - QString text = cursor.selectedText(); - cursor.removeSelectedText(); - cursor.insertText("### " + text); - } - else - { - cursor.insertText("### "); - } -} - -void Notepad::on_undoButton_clicked() -{ - QTextCursor cursor = ui->notepadTextEdit->textCursor(); - QTextDocument *doc = ui->notepadTextEdit->document(); - doc->undo(); -} - -void Notepad::on_redoButton_clicked() -{ - QTextCursor cursor = ui->notepadTextEdit->textCursor(); - QTextDocument *doc = ui->notepadTextEdit->document(); - doc->redo(); -} - -void Notepad::on_searchEdit_returnPressed() -{ - QString searchString = ui->searchEdit->text(); - QTextDocument *document = ui->notepadTextEdit->document(); - - if (isFirstTime == false) - document->undo(); - - if (!searchString.isEmpty()) - { - - QTextCursor highlightCursor(document); - QTextCursor cursor(document); - - cursor.beginEditBlock(); - - QTextCharFormat plainFormat(highlightCursor.charFormat()); - QTextCharFormat colorFormat = plainFormat; - colorFormat.setForeground(Qt::red); - - while (!highlightCursor.isNull() && !highlightCursor.atEnd()) - { - highlightCursor = document->find(searchString, highlightCursor, QTextDocument::FindWholeWords); - - if (!highlightCursor.isNull()) - { - highlightCursor.movePosition(QTextCursor::WordRight, - QTextCursor::KeepAnchor); - highlightCursor.mergeCharFormat(colorFormat); - } - } - - cursor.endEditBlock(); - isFirstTime = false; - } -} - -void Notepad::on_searchEdit_textEdited(const QString &arg1) -{ - Q_UNUSED(arg1); - - QString searchString = ui->searchEdit->text(); - QTextDocument *document = ui->notepadTextEdit->document(); - - if (isFirstTime == false) - document->undo(); - - if (!searchString.isEmpty()) - { - - QTextCursor highlightCursor(document); - QTextCursor cursor(document); - - cursor.beginEditBlock(); - - QTextCharFormat plainFormat(highlightCursor.charFormat()); - QTextCharFormat colorFormat = plainFormat; - colorFormat.setForeground(Qt::red); - - while (!highlightCursor.isNull() && !highlightCursor.atEnd()) - { - highlightCursor = document->find(searchString, highlightCursor); - - if (!highlightCursor.isNull()) - { - //highlightCursor.movePosition(QTextCursor::WordRight, - // QTextCursor::KeepAnchor); - highlightCursor.mergeCharFormat(colorFormat); - } - } - - cursor.endEditBlock(); - isFirstTime = false; - } -} - -void Notepad::on_searchEdit_textChanged(const QString &arg1) -{ - Q_UNUSED(arg1); - - QString searchString = ui->searchEdit->text(); - QTextDocument *document = ui->notepadTextEdit->document(); - - if (isFirstTime == false) - document->undo(); - - if (!searchString.isEmpty()) - { - - QTextCursor highlightCursor(document); - QTextCursor cursor(document); - - cursor.beginEditBlock(); - - QTextCharFormat plainFormat(highlightCursor.charFormat()); - QTextCharFormat colorFormat = plainFormat; - colorFormat.setForeground(Qt::red); - - while (!highlightCursor.isNull() && !highlightCursor.atEnd()) - { - highlightCursor = document->find(searchString, highlightCursor); - - if (!highlightCursor.isNull()) - { - //highlightCursor.movePosition(QTextCursor::WordRight, - // QTextCursor::KeepAnchor); - highlightCursor.mergeCharFormat(colorFormat); - } - } - - cursor.endEditBlock(); - isFirstTime = false; - } -} - -void Notepad::showNotepadContextMenu(const QPoint &pt) -{ - // Set Notepad popup menu - QMenu *menu = ui->notepadTextEdit->createStandardContextMenu(); - QTextCursor cur = ui->notepadTextEdit->textCursor(); - QAction *first = menu->actions().at(0); - - if (!cur.hasSelection()) - { - cur.select(QTextCursor::WordUnderCursor); - } - - addr = cur.selectedText(); - - static const int maxLength = 20; - if(addr.length() > maxLength) - { - addr = addr.left(maxLength-1) + "\u2026"; - } - - ui->actionSeekToSelection->setText(tr("Seek to \"%1\"").arg(addr)); - - menu->insertAction(first, ui->actionSeekToSelection); - menu->insertSeparator(first); - ui->notepadTextEdit->setContextMenuPolicy(Qt::DefaultContextMenu); - menu->exec(ui->notepadTextEdit->mapToGlobal(pt)); - delete menu; - ui->notepadTextEdit->setContextMenuPolicy(Qt::CustomContextMenu); -} - -void Notepad::on_actionSeekToSelection_triggered() -{ - Core()->seek(addr); -} - -void Notepad::updateNotes(const QString ¬es) -{ - disconnect(ui->notepadTextEdit, SIGNAL(textChanged()), this, SLOT(textChanged())); - ui->notepadTextEdit->setPlainText(notes); - connect(ui->notepadTextEdit, SIGNAL(textChanged()), this, SLOT(textChanged())); -} - -void Notepad::textChanged() -{ - CutterCore *core = CutterCore::getInstance(); - disconnect(core, SIGNAL(notesChanged(const QString &)), this, SLOT(updateNotes(const QString &))); - core->setNotes(ui->notepadTextEdit->toPlainText()); - connect(core, SIGNAL(notesChanged(const QString &)), this, SLOT(updateNotes(const QString &))); -} diff --git a/src/widgets/Notepad.h b/src/widgets/Notepad.h deleted file mode 100644 index 993f4c5e..00000000 --- a/src/widgets/Notepad.h +++ /dev/null @@ -1,63 +0,0 @@ -#ifndef NOTEPAD_H -#define NOTEPAD_H - -#include -#include - -class MainWindow; -class MdHighlighter; -class Highlighter; -class QPlainTextEdit; - -namespace Ui -{ - class Notepad; -} - -class Notepad : public QDockWidget -{ - Q_OBJECT - -public: - explicit Notepad(MainWindow *main, QWidget *parent = 0); - ~Notepad(); - - void highlightPreview(); - -public slots: - void setFonts(QFont font); - -private slots: - void on_fontButton_clicked(); - void on_boldButton_clicked(); - void on_italicsButton_clicked(); - - void on_h1Button_clicked(); - void on_h2Button_clicked(); - void on_h3Button_clicked(); - - void on_undoButton_clicked(); - void on_redoButton_clicked(); - - void on_searchEdit_returnPressed(); - void on_searchEdit_textEdited(const QString &arg1); - void on_searchEdit_textChanged(const QString &arg1); - - void showNotepadContextMenu(const QPoint &pt); - - void on_actionSeekToSelection_triggered(); - - void updateNotes(const QString ¬es); - void textChanged(); - -private: - std::unique_ptr ui; - MdHighlighter *highlighter; - Highlighter *disasm_highlighter; - bool isFirstTime; - MainWindow *main; - QString addr; - QPlainTextEdit *notesTextEdit; -}; - -#endif // NOTEPAD_H diff --git a/src/widgets/Notepad.ui b/src/widgets/Notepad.ui deleted file mode 100644 index 4eab4c41..00000000 --- a/src/widgets/Notepad.ui +++ /dev/null @@ -1,649 +0,0 @@ - - - Notepad - - - - 0 - 0 - 783 - 440 - - - - QSplitter::handle:horizontal { - width: 3px; - } - - QSplitter::handle:vertical { - height: 3px; - } - -QToolButton:hover { - border-radius: 5px; - border: none; - padding: 2px; - /*color: darkgray;*/ - background-color: rgb(232, 232, 232); -} - -QToolButton:hover { - background-color: rgb(128, 128, 128); - color: darkgray; -} - - - Notepad - - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - background-color: rgb(255, 255, 255); - - - QFrame::NoFrame - - - QFrame::Plain - - - - 0 - - - 0 - - - 0 - - - 0 - - - 0 - - - - - - - - 0 - - - 0 - - - 0 - - - - - 5 - - - 5 - - - 3 - - - 5 - - - 3 - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 50 - 20 - - - - - - - - - 0 - 20 - - - - - 16777215 - 20 - - - - border-radius: 7px; -padding: 0 8px; -/* -background-color: rgb(240, 240, 240); -color: rgb(48, 48, 48); -*/ - - - - - - - - - false - - - Search - - - true - - - - - - - Qt::Horizontal - - - QSizePolicy::Expanding - - - - 50 - 20 - - - - - - - - -QToolButton { /* all types of tool button */ - padding: 2px; - background-color: palette(light); - border-radius: 5px; -} - -QToolButton:pressed { - background-color: palette(dark); -} - - - ... - - - - :/img/icons/undo.svg:/img/icons/undo.svg - - - - - - - QToolButton { /* all types of tool button */ - padding: 2px; - background-color: palette(light); - border-radius: 5px; -} - -QToolButton:pressed { - background-color: palette(dark); -} - - - ... - - - - :/img/icons/redo.svg:/img/icons/redo.svg - - - - - - - - - 0 - - - 0 - - - 0 - - - - - - 0 - 0 - - - - - 40 - 16777215 - - - - background-color: #333; - - - QFrame::NoFrame - - - QFrame::Plain - - - 0 - - - - 5 - - - 0 - - - 5 - - - 0 - - - 5 - - - - - - 15 - 50 - false - - - - Bold - - - QToolButton { /* all types of tool button */ - border: 5px solid #333; - border-left: 10px solid #333; - border-right: 10px solid #333; - border-radius: 0px; - background-color: #333; - color: rgb(172, 174, 175); - } - -QToolButton:hover { - border: 5px solid #444; - border-radius: 0px; - background-color: #444; -} - -QToolButton:pressed { - border: 5px solid #2180a9; - border-radius: 0px; - background-color: #2180a9; -} - -QToolTip { - background-color: #444; - border: 3px solid #444; - color: rgb(232, 232, 232); -} - - - B - - - Qt::ToolButtonTextOnly - - - - - - - - 0 - 0 - - - - - 15 - true - - - - Italics - - - QToolButton { /* all types of tool button */ - border: 5px solid #333; - border-left: 10px solid #333; - border-right: 10px solid #333; - border-radius: 0px; - background-color: #333; - color: rgb(172, 174, 175); - } - -QToolButton:hover { - border: 5px solid #444; - border-radius: 0px; - background-color: #444; - } - -QToolButton:pressed { - border: 5px solid #2180a9; - border-radius: 0px; - background-color: #2180a9; -} - -QToolTip { - background-color: #444; - border: 3px solid #444; - color: rgb(232, 232, 232); -} - - - I - - - Qt::ToolButtonTextOnly - - - - - - - Qt::Horizontal - - - - - - - - 15 - - - - Title 1 - - - QToolButton { /* all types of tool button */ - border: 5px solid #333; - border-left: 10px solid #333; - border-right: 10px solid #333; - border-radius: 0px; - background-color: #333; - color: rgb(172, 174, 175); - } - -QToolButton:hover { - border: 5px solid #444; - border-radius: 0px; - background-color: #444; - } - -QToolButton:pressed { - border: 5px solid #2180a9; - border-radius: 0px; - background-color: #2180a9; -} - -QToolTip { - background-color: #444; - border: 3px solid #444; - color: rgb(232, 232, 232); -} - - - H1 - - - Qt::ToolButtonTextOnly - - - - - - - - 15 - - - - Title 2 - - - QToolButton { /* all types of tool button */ - border: 5px solid #333; - border-left: 10px solid #333; - border-right: 10px solid #333; - border-radius: 0px; - background-color: #333; - color: rgb(172, 174, 175); - } - -QToolButton:hover { - border: 5px solid #444; - border-radius: 0px; - background-color: #444; - } - -QToolButton:pressed { - border: 5px solid #2180a9; - border-radius: 0px; - background-color: #2180a9; -} - -QToolTip { - background-color: #444; - border: 3px solid #444; - color: rgb(232, 232, 232); -} - - - H2 - - - Qt::ToolButtonTextOnly - - - - - - - - 15 - - - - Title 3 - - - QToolButton { /* all types of tool button */ - border: 5px solid #333; - border-left: 10px solid #333; - border-right: 10px solid #333; - border-radius: 0px; - background-color: #333; - color: rgb(172, 174, 175); - } - -QToolButton:hover { - border: 5px solid #444; - border-radius: 0px; - background-color: #444; - } - -QToolButton:pressed { - border: 5px solid #2180a9; - border-radius: 0px; - background-color: #2180a9; -} - -QToolTip { - background-color: #444; - border: 3px solid #444; - color: rgb(232, 232, 232); -} - - - H3 - - - Qt::ToolButtonTextOnly - - - - - - - Qt::Vertical - - - - 20 - 40 - - - - - - - - - Big Caslon - 15 - - - - Change font - - - QToolButton { /* all types of tool button */ - border: 5px solid #333; - border-left: 10px solid #333; - border-right: 10px solid #333; - border-radius: 0px; - background-color: #333; - color: rgb(172, 174, 175); - } - -QToolButton:hover { - border: 5px solid #444; - border-radius: 0px; - background-color: #444; - } - -QToolButton:pressed { - border: 5px solid #2180a9; - border-radius: 0px; - background-color: #2180a9; -} - -QToolTip { - background-color: #444; - border: 3px solid #444; - color: rgb(232, 232, 232); -} - - - A - - - Qt::ToolButtonTextOnly - - - - - - - - - - - 0 - 0 - - - - - Monaco - 12 - - - - - - - QFrame::NoFrame - - - QFrame::Plain - - - Qt::ScrollBarAlwaysOff - - - QPlainTextEdit::NoWrap - - - - - - - - - - - - - - - Seek to - - - - - - - -