diff options
author | Ken Moore <moorekou@gmail.com> | 2015-08-27 15:17:25 -0400 |
---|---|---|
committer | Ken Moore <moorekou@gmail.com> | 2015-08-27 15:17:25 -0400 |
commit | d2fe28acc6a305a8632809916e99ac95cce62871 (patch) | |
tree | 32b44b362e4f0a665d0b53cfdd4358ba05c04dab /lumina-fm/ScrollDialog.h | |
parent | Get drag and drop functionality completely working (Internal only - will not ... (diff) | |
download | lumina-d2fe28acc6a305a8632809916e99ac95cce62871.tar.gz lumina-d2fe28acc6a305a8632809916e99ac95cce62871.tar.bz2 lumina-d2fe28acc6a305a8632809916e99ac95cce62871.zip |
Add a new "ScrollDialog" to lumina-fm for instances where a lot of text might be getting shown to the user. Use this dialog for checksums as well.
Diffstat (limited to 'lumina-fm/ScrollDialog.h')
-rw-r--r-- | lumina-fm/ScrollDialog.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/lumina-fm/ScrollDialog.h b/lumina-fm/ScrollDialog.h new file mode 100644 index 00000000..eefe62f4 --- /dev/null +++ b/lumina-fm/ScrollDialog.h @@ -0,0 +1,55 @@ +//=========================================== +// Lumina-DE source code +// Copyright (c) 2014, Ken Moore +// Available under the 3-clause BSD license +// See the LICENSE file for full details +//=========================================== +// This is the dialog for showing a lot of text in a scrollable format (instead of QMessageBox) +//=========================================== +#ifndef _LUMINA_FILE_MANAGER_SCROLL_DIALOG_H +#define _LUMINA_FILE_MANAGER_SCROLL_DIALOG_H + +#include <QDialog> +#include <QVBoxLayout> +#include <QTextEdit> +#include <QDialogButtonBox> + +class ScrollDialog : public QDialog{ + Q_OBJECT + +private: + QDialogButtonBox *buttons; + QTextEdit *label; + QVBoxLayout *layout1; + +public: + ScrollDialog(QWidget *parent = 0) : QDialog(parent){ + //Create the widgets + buttons = new QDialogButtonBox(QDialogButtonBox::Ok, Qt::Horizontal, this); + label = new QTextEdit(this); + label->setReadOnly(true); + label->setWordWrapMode(QTextOption::NoWrap); + layout1 = new QVBoxLayout(this); + //Put them in the dialog + layout1->addWidget(label); + layout1->addWidget(buttons); + this->setLayout(layout1); + //Connect signals/slots + connect(buttons, SIGNAL(accepted()), this, SLOT(accept()) ); + connect(buttons, SIGNAL(rejected()), this, SLOT(reject()) ); + //Set a useful size/position + this->resize(400,200); + if(parent!=0){ + QPoint ctr = parent->mapToGlobal(parent->geometry().center()); + this->move( ctr.x()-(this->width()/2), ctr.y()-(this->height()/2) ); + } + } + ~ScrollDialog(){} + + void setText(QString txt){ + label->setPlainText(txt); + //this->resize( label->fontMetrics().width(txt.section("\n",0,0))+30, this->height()); + } + +}; +#endif
\ No newline at end of file |