1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- /******************************************************************************
- Copyright (C) 2013 by Hugh Bailey <[email protected]>
- 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, see <http://www.gnu.org/licenses/>.
- ******************************************************************************/
- #include "window-namedialog.hpp"
- #include "qt-wrappers.hpp"
- #include "ui_NameDialog.h"
- #include "obs-app.hpp"
- using namespace std;
- NameDialog::NameDialog(QWidget *parent)
- : QDialog(parent), ui(new Ui::NameDialog)
- {
- ui->setupUi(this);
- installEventFilter(CreateShortcutFilter());
- }
- static bool IsWhitespace(char ch)
- {
- return ch == ' ' || ch == '\t';
- }
- bool NameDialog::AskForName(QWidget *parent, const QString &title,
- const QString &text, string &str,
- const QString &placeHolder, int maxSize)
- {
- if (maxSize <= 0 || maxSize > 32767)
- maxSize = 170;
- NameDialog dialog(parent);
- dialog.setWindowTitle(title);
- dialog.setWindowFlags(dialog.windowFlags() &
- ~Qt::WindowContextHelpButtonHint);
- dialog.ui->label->setText(text);
- dialog.ui->userText->setMaxLength(maxSize);
- dialog.ui->userText->setText(placeHolder);
- dialog.ui->userText->selectAll();
- bool accepted = (dialog.exec() == DialogCode::Accepted);
- if (accepted) {
- str = QT_TO_UTF8(dialog.ui->userText->text());
- while (str.size() && IsWhitespace(str.back()))
- str.erase(str.end() - 1);
- while (str.size() && IsWhitespace(str.front()))
- str.erase(str.begin());
- }
- return accepted;
- }
|