Add keyboard shorcuts to focus and unfocus chat (#3898)
* Added keyboard shorcuts to focus and unfocus chat * Fixed format * Changed the Esc behavior to work on any QLineEdit in the main Window and ignore shortcut conflicts * Fixed a conflict with shortcuts * Configurable unfocus shortcut and format fixes * minor style fix
This commit is contained in:
parent
7285f24a29
commit
63b4f9b2f0
25 changed files with 235 additions and 107 deletions
|
@ -23,3 +23,5 @@ BinPackParameters: false
|
||||||
AllowAllParametersOfDeclarationOnNextLine: false
|
AllowAllParametersOfDeclarationOnNextLine: false
|
||||||
IndentCaseLabels: true
|
IndentCaseLabels: true
|
||||||
PointerAlignment: Right
|
PointerAlignment: Right
|
||||||
|
SortIncludes: true
|
||||||
|
IncludeBlocks: Regroup
|
||||||
|
|
|
@ -86,7 +86,6 @@ SET(cockatrice_SOURCES
|
||||||
src/deckstats_interface.cpp
|
src/deckstats_interface.cpp
|
||||||
src/tappedout_interface.cpp
|
src/tappedout_interface.cpp
|
||||||
src/chatview/chatview.cpp
|
src/chatview/chatview.cpp
|
||||||
src/chatview/userlistProxy.h
|
|
||||||
src/userlist.cpp
|
src/userlist.cpp
|
||||||
src/userinfobox.cpp
|
src/userinfobox.cpp
|
||||||
src/user_context_menu.cpp
|
src/user_context_menu.cpp
|
||||||
|
@ -123,6 +122,7 @@ SET(cockatrice_SOURCES
|
||||||
src/carddbparser/cockatricexml3.cpp
|
src/carddbparser/cockatricexml3.cpp
|
||||||
src/carddbparser/cockatricexml4.cpp
|
src/carddbparser/cockatricexml4.cpp
|
||||||
src/filter_string.cpp
|
src/filter_string.cpp
|
||||||
|
src/customlineedit.cpp
|
||||||
${VERSION_STRING_CPP}
|
${VERSION_STRING_CPP}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|
72
cockatrice/src/customlineedit.cpp
Normal file
72
cockatrice/src/customlineedit.cpp
Normal file
|
@ -0,0 +1,72 @@
|
||||||
|
|
||||||
|
#include "customlineedit.h"
|
||||||
|
|
||||||
|
#include "settingscache.h"
|
||||||
|
#include "shortcutssettings.h"
|
||||||
|
|
||||||
|
#include <QKeyEvent>
|
||||||
|
#include <QLineEdit>
|
||||||
|
#include <QObject>
|
||||||
|
#include <QWidget>
|
||||||
|
|
||||||
|
LineEditUnfocusable::LineEditUnfocusable(QWidget *parent) : QLineEdit(parent)
|
||||||
|
{
|
||||||
|
installEventFilter(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
LineEditUnfocusable::LineEditUnfocusable(const QString &contents, QWidget *parent) : QLineEdit(contents, parent)
|
||||||
|
{
|
||||||
|
installEventFilter(this);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool LineEditUnfocusable::isUnfocusShortcut(QKeyEvent *event)
|
||||||
|
{
|
||||||
|
QString modifier;
|
||||||
|
QString keyNoMod;
|
||||||
|
|
||||||
|
if (event->modifiers() & Qt::ShiftModifier)
|
||||||
|
modifier += "Shift+";
|
||||||
|
if (event->modifiers() & Qt::ControlModifier)
|
||||||
|
modifier += "Ctrl+";
|
||||||
|
if (event->modifiers() & Qt::AltModifier)
|
||||||
|
modifier += "Alt+";
|
||||||
|
if (event->modifiers() & Qt::MetaModifier)
|
||||||
|
modifier += "Meta+";
|
||||||
|
|
||||||
|
keyNoMod = QKeySequence(event->key()).toString();
|
||||||
|
|
||||||
|
QKeySequence key(modifier + keyNoMod);
|
||||||
|
QList<QKeySequence> unfocusShortcut = settingsCache->shortcuts().getShortcut("Textbox/unfocusTextBox");
|
||||||
|
|
||||||
|
for (QList<QKeySequence>::iterator i = unfocusShortcut.begin(); i != unfocusShortcut.end(); ++i) {
|
||||||
|
if (key.matches(*i) == QKeySequence::ExactMatch)
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
return false;
|
||||||
|
}
|
||||||
|
|
||||||
|
void LineEditUnfocusable::keyPressEvent(QKeyEvent *event)
|
||||||
|
{
|
||||||
|
if (isUnfocusShortcut(event)) {
|
||||||
|
clearFocus();
|
||||||
|
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
QLineEdit::keyPressEvent(event);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool LineEditUnfocusable::eventFilter(QObject *watched, QEvent *event)
|
||||||
|
{
|
||||||
|
if (event->type() == QEvent::ShortcutOverride) {
|
||||||
|
QKeyEvent *keyEvent = static_cast<QKeyEvent *>(event);
|
||||||
|
|
||||||
|
if (isUnfocusShortcut(keyEvent)) {
|
||||||
|
event->accept();
|
||||||
|
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return QLineEdit::eventFilter(watched, event);
|
||||||
|
}
|
27
cockatrice/src/customlineedit.h
Normal file
27
cockatrice/src/customlineedit.h
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
|
||||||
|
#ifndef CUSTOMLINEEDIT_H
|
||||||
|
#define CUSTOMLINEEDIT_H
|
||||||
|
|
||||||
|
#include <QLineEdit>
|
||||||
|
|
||||||
|
class QKeyEvent;
|
||||||
|
class QWidget;
|
||||||
|
class QString;
|
||||||
|
|
||||||
|
// Should be used when the there is a risk of conflict between line editor
|
||||||
|
// shortcuts and other shortcuts
|
||||||
|
class LineEditUnfocusable : public QLineEdit
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
LineEditUnfocusable(QWidget *parent = nullptr);
|
||||||
|
LineEditUnfocusable(const QString &contents, QWidget *parent = nullptr);
|
||||||
|
|
||||||
|
private:
|
||||||
|
bool isUnfocusShortcut(QKeyEvent *key);
|
||||||
|
|
||||||
|
protected:
|
||||||
|
void keyPressEvent(QKeyEvent *event) override;
|
||||||
|
bool eventFilter(QObject *watched, QEvent *event) override;
|
||||||
|
};
|
||||||
|
|
||||||
|
#endif
|
|
@ -1,12 +1,12 @@
|
||||||
#include "filterbuilder.h"
|
#include "filterbuilder.h"
|
||||||
|
|
||||||
|
#include "cardfilter.h"
|
||||||
|
#include "customlineedit.h"
|
||||||
|
|
||||||
#include <QComboBox>
|
#include <QComboBox>
|
||||||
#include <QGridLayout>
|
#include <QGridLayout>
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
|
||||||
#include "cardfilter.h"
|
|
||||||
|
|
||||||
FilterBuilder::FilterBuilder(QWidget *parent) : QWidget(parent)
|
FilterBuilder::FilterBuilder(QWidget *parent) : QWidget(parent)
|
||||||
{
|
{
|
||||||
filterCombo = new QComboBox;
|
filterCombo = new QComboBox;
|
||||||
|
@ -23,7 +23,7 @@ FilterBuilder::FilterBuilder(QWidget *parent) : QWidget(parent)
|
||||||
ok->setObjectName("ok");
|
ok->setObjectName("ok");
|
||||||
ok->setMaximumSize(20, 20);
|
ok->setMaximumSize(20, 20);
|
||||||
|
|
||||||
edit = new QLineEdit;
|
edit = new LineEditUnfocusable;
|
||||||
edit->setObjectName("edit");
|
edit->setObjectName("edit");
|
||||||
edit->setPlaceholderText(tr("Type your filter here"));
|
edit->setPlaceholderText(tr("Type your filter here"));
|
||||||
edit->setClearButtonEnabled(true);
|
edit->setClearButtonEnabled(true);
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
class QComboBox;
|
class QComboBox;
|
||||||
class QLineEdit;
|
class LineEditUnfocusable;
|
||||||
class CardFilter;
|
class CardFilter;
|
||||||
|
|
||||||
class FilterBuilder : public QWidget
|
class FilterBuilder : public QWidget
|
||||||
|
@ -15,7 +15,7 @@ class FilterBuilder : public QWidget
|
||||||
private:
|
private:
|
||||||
QComboBox *typeCombo;
|
QComboBox *typeCombo;
|
||||||
QComboBox *filterCombo;
|
QComboBox *filterCombo;
|
||||||
QLineEdit *edit;
|
LineEditUnfocusable *edit;
|
||||||
CardFilter *fltr;
|
CardFilter *fltr;
|
||||||
|
|
||||||
void destroyFilter();
|
void destroyFilter();
|
||||||
|
|
|
@ -1,21 +1,21 @@
|
||||||
#include "lineeditcompleter.h"
|
#include "lineeditcompleter.h"
|
||||||
|
|
||||||
#include <QAbstractItemView>
|
#include <QAbstractItemView>
|
||||||
#include <QCompleter>
|
#include <QCompleter>
|
||||||
#include <QFocusEvent>
|
#include <QFocusEvent>
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QScrollBar>
|
#include <QScrollBar>
|
||||||
#include <QStringListModel>
|
#include <QStringListModel>
|
||||||
#include <QTextCursor>
|
#include <QTextCursor>
|
||||||
#include <QWidget>
|
#include <QWidget>
|
||||||
|
|
||||||
LineEditCompleter::LineEditCompleter(QWidget *parent) : QLineEdit(parent), c(nullptr)
|
LineEditCompleter::LineEditCompleter(QWidget *parent) : LineEditUnfocusable(parent), c(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
void LineEditCompleter::focusOutEvent(QFocusEvent *e)
|
void LineEditCompleter::focusOutEvent(QFocusEvent *e)
|
||||||
{
|
{
|
||||||
QLineEdit::focusOutEvent(e);
|
LineEditUnfocusable::focusOutEvent(e);
|
||||||
if (c->popup()->isVisible()) {
|
if (c->popup()->isVisible()) {
|
||||||
// Remove Popup
|
// Remove Popup
|
||||||
c->popup()->hide();
|
c->popup()->hide();
|
||||||
|
@ -73,7 +73,7 @@ void LineEditCompleter::keyPressEvent(QKeyEvent *event)
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
QLineEdit::keyPressEvent(event);
|
LineEditUnfocusable::keyPressEvent(event);
|
||||||
// return if the completer is null or if the most recently typed char was '@'.
|
// return if the completer is null or if the most recently typed char was '@'.
|
||||||
// Only want the popup AFTER typing the first char of the mention.
|
// Only want the popup AFTER typing the first char of the mention.
|
||||||
if (!c || text().right(1).contains("@")) {
|
if (!c || text().right(1).contains("@")) {
|
||||||
|
|
|
@ -1,12 +1,13 @@
|
||||||
#ifndef LINEEDITCOMPLETER_H
|
#ifndef LINEEDITCOMPLETER_H
|
||||||
#define LINEEDITCOMPLETER_H
|
#define LINEEDITCOMPLETER_H
|
||||||
|
|
||||||
|
#include "customlineedit.h"
|
||||||
|
|
||||||
#include <QFocusEvent>
|
#include <QFocusEvent>
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QStringList>
|
#include <QStringList>
|
||||||
|
|
||||||
class LineEditCompleter : public QLineEdit
|
class LineEditCompleter : public LineEditUnfocusable
|
||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
private:
|
private:
|
||||||
|
|
|
@ -529,6 +529,12 @@ private:
|
||||||
{"Player/aRotateViewCCW", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Rotate view counterclockwise"),
|
{"Player/aRotateViewCCW", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Rotate view counterclockwise"),
|
||||||
parseSequenceString(""),
|
parseSequenceString(""),
|
||||||
ShortcutGroup::Drawing)},
|
ShortcutGroup::Drawing)},
|
||||||
|
{"Textbox/unfocusTextBox", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Unfocus text box"),
|
||||||
|
parseSequenceString("Esc"),
|
||||||
|
ShortcutGroup::Chat_room)},
|
||||||
|
{"tab_game/aFocusChat", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Focus Chat"),
|
||||||
|
parseSequenceString("Shift+Return"),
|
||||||
|
ShortcutGroup::Chat_room)},
|
||||||
{"tab_room/aClearChat", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Clear chat"),
|
{"tab_room/aClearChat", ShortcutKey(QT_TRANSLATE_NOOP("shortcutsTab", "Clear chat"),
|
||||||
parseSequenceString("F12"),
|
parseSequenceString("F12"),
|
||||||
ShortcutGroup::Chat_room)},
|
ShortcutGroup::Chat_room)},
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "tab_deck_editor.h"
|
#include "tab_deck_editor.h"
|
||||||
|
|
||||||
#include "abstractclient.h"
|
#include "abstractclient.h"
|
||||||
#include "carddatabasemodel.h"
|
#include "carddatabasemodel.h"
|
||||||
#include "cardframe.h"
|
#include "cardframe.h"
|
||||||
|
@ -16,6 +17,7 @@
|
||||||
#include "settingscache.h"
|
#include "settingscache.h"
|
||||||
#include "tab_supervisor.h"
|
#include "tab_supervisor.h"
|
||||||
#include "tappedout_interface.h"
|
#include "tappedout_interface.h"
|
||||||
|
|
||||||
#include <QAction>
|
#include <QAction>
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QClipboard>
|
#include <QClipboard>
|
||||||
|
@ -28,6 +30,7 @@
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
#include <QLineEdit>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QMenuBar>
|
#include <QMenuBar>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
|
@ -50,7 +53,7 @@ void SearchLineEdit::keyPressEvent(QKeyEvent *event)
|
||||||
{
|
{
|
||||||
if (treeView && ((event->key() == Qt::Key_Up) || (event->key() == Qt::Key_Down)))
|
if (treeView && ((event->key() == Qt::Key_Up) || (event->key() == Qt::Key_Down)))
|
||||||
QCoreApplication::sendEvent(treeView, event);
|
QCoreApplication::sendEvent(treeView, event);
|
||||||
QLineEdit::keyPressEvent(event);
|
LineEditUnfocusable::keyPressEvent(event);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabDeckEditor::createDeckDock()
|
void TabDeckEditor::createDeckDock()
|
||||||
|
@ -79,7 +82,7 @@ void TabDeckEditor::createDeckDock()
|
||||||
|
|
||||||
nameLabel = new QLabel();
|
nameLabel = new QLabel();
|
||||||
nameLabel->setObjectName("nameLabel");
|
nameLabel->setObjectName("nameLabel");
|
||||||
nameEdit = new QLineEdit;
|
nameEdit = new LineEditUnfocusable;
|
||||||
nameEdit->setObjectName("nameEdit");
|
nameEdit->setObjectName("nameEdit");
|
||||||
nameLabel->setBuddy(nameEdit);
|
nameLabel->setBuddy(nameEdit);
|
||||||
connect(nameEdit, SIGNAL(textChanged(const QString &)), this, SLOT(updateName(const QString &)));
|
connect(nameEdit, SIGNAL(textChanged(const QString &)), this, SLOT(updateName(const QString &)));
|
||||||
|
@ -121,7 +124,7 @@ void TabDeckEditor::createDeckDock()
|
||||||
auto *hashSizePolicy = new QSizePolicy();
|
auto *hashSizePolicy = new QSizePolicy();
|
||||||
hashSizePolicy->setHorizontalPolicy(QSizePolicy::Fixed);
|
hashSizePolicy->setHorizontalPolicy(QSizePolicy::Fixed);
|
||||||
hashLabel1->setSizePolicy(*hashSizePolicy);
|
hashLabel1->setSizePolicy(*hashSizePolicy);
|
||||||
hashLabel = new QLineEdit;
|
hashLabel = new LineEditUnfocusable;
|
||||||
hashLabel->setObjectName("hashLabel");
|
hashLabel->setObjectName("hashLabel");
|
||||||
hashLabel->setReadOnly(true);
|
hashLabel->setReadOnly(true);
|
||||||
hashLabel->setFrame(false);
|
hashLabel->setFrame(false);
|
||||||
|
|
|
@ -1,13 +1,13 @@
|
||||||
#ifndef WINDOW_DECKEDITOR_H
|
#ifndef WINDOW_DECKEDITOR_H
|
||||||
#define WINDOW_DECKEDITOR_H
|
#define WINDOW_DECKEDITOR_H
|
||||||
|
|
||||||
|
#include "carddatabase.h"
|
||||||
|
#include "customlineedit.h"
|
||||||
#include "keysignals.h"
|
#include "keysignals.h"
|
||||||
#include "tab.h"
|
#include "tab.h"
|
||||||
|
|
||||||
#include <QAbstractItemModel>
|
#include <QAbstractItemModel>
|
||||||
#include <QDir>
|
#include <QDir>
|
||||||
#include <QLineEdit>
|
|
||||||
|
|
||||||
#include "carddatabase.h"
|
|
||||||
|
|
||||||
class CardDatabaseModel;
|
class CardDatabaseModel;
|
||||||
class CardDatabaseDisplayModel;
|
class CardDatabaseDisplayModel;
|
||||||
|
@ -27,7 +27,7 @@ class QVBoxLayout;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QDockWidget;
|
class QDockWidget;
|
||||||
|
|
||||||
class SearchLineEdit : public QLineEdit
|
class SearchLineEdit : public LineEditUnfocusable
|
||||||
{
|
{
|
||||||
private:
|
private:
|
||||||
QTreeView *treeView;
|
QTreeView *treeView;
|
||||||
|
@ -36,7 +36,7 @@ protected:
|
||||||
void keyPressEvent(QKeyEvent *event) override;
|
void keyPressEvent(QKeyEvent *event) override;
|
||||||
|
|
||||||
public:
|
public:
|
||||||
SearchLineEdit() : QLineEdit(), treeView(nullptr)
|
SearchLineEdit() : LineEditUnfocusable(), treeView(nullptr)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
void setTreeView(QTreeView *_treeView)
|
void setTreeView(QTreeView *_treeView)
|
||||||
|
@ -117,11 +117,11 @@ private:
|
||||||
KeySignals searchKeySignals;
|
KeySignals searchKeySignals;
|
||||||
|
|
||||||
QLabel *nameLabel;
|
QLabel *nameLabel;
|
||||||
QLineEdit *nameEdit;
|
LineEditUnfocusable *nameEdit;
|
||||||
QLabel *commentsLabel;
|
QLabel *commentsLabel;
|
||||||
QTextEdit *commentsEdit;
|
QTextEdit *commentsEdit;
|
||||||
QLabel *hashLabel1;
|
QLabel *hashLabel1;
|
||||||
QLineEdit *hashLabel;
|
LineEditUnfocusable *hashLabel;
|
||||||
FilterTreeModel *filterModel;
|
FilterTreeModel *filterModel;
|
||||||
QTreeView *filterView;
|
QTreeView *filterView;
|
||||||
KeySignals filterViewKeySignals;
|
KeySignals filterViewKeySignals;
|
||||||
|
|
|
@ -1,17 +1,4 @@
|
||||||
#include <QAction>
|
#include "tab_game.h"
|
||||||
#include <QCompleter>
|
|
||||||
#include <QDebug>
|
|
||||||
#include <QDockWidget>
|
|
||||||
#include <QFileDialog>
|
|
||||||
#include <QHBoxLayout>
|
|
||||||
#include <QLabel>
|
|
||||||
#include <QMenu>
|
|
||||||
#include <QMessageBox>
|
|
||||||
#include <QSplitter>
|
|
||||||
#include <QStackedWidget>
|
|
||||||
#include <QTimer>
|
|
||||||
#include <QToolButton>
|
|
||||||
#include <QWidget>
|
|
||||||
|
|
||||||
#include "abstractclient.h"
|
#include "abstractclient.h"
|
||||||
#include "arrowitem.h"
|
#include "arrowitem.h"
|
||||||
|
@ -24,22 +11,10 @@
|
||||||
#include "dlg_load_remote_deck.h"
|
#include "dlg_load_remote_deck.h"
|
||||||
#include "gamescene.h"
|
#include "gamescene.h"
|
||||||
#include "gameview.h"
|
#include "gameview.h"
|
||||||
|
#include "get_pb_extension.h"
|
||||||
#include "lineeditcompleter.h"
|
#include "lineeditcompleter.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "messagelogwidget.h"
|
#include "messagelogwidget.h"
|
||||||
#include "phasestoolbar.h"
|
|
||||||
#include "pictureloader.h"
|
|
||||||
#include "player.h"
|
|
||||||
#include "playerlistwidget.h"
|
|
||||||
#include "replay_timeline_widget.h"
|
|
||||||
#include "settingscache.h"
|
|
||||||
#include "tab_game.h"
|
|
||||||
#include "tab_supervisor.h"
|
|
||||||
#include "window_sets.h"
|
|
||||||
#include "zoneviewwidget.h"
|
|
||||||
#include "zoneviewzone.h"
|
|
||||||
|
|
||||||
#include "get_pb_extension.h"
|
|
||||||
#include "pb/command_concede.pb.h"
|
#include "pb/command_concede.pb.h"
|
||||||
#include "pb/command_deck_select.pb.h"
|
#include "pb/command_deck_select.pb.h"
|
||||||
#include "pb/command_delete_arrow.pb.h"
|
#include "pb/command_delete_arrow.pb.h"
|
||||||
|
@ -70,6 +45,31 @@
|
||||||
#include "pb/game_replay.pb.h"
|
#include "pb/game_replay.pb.h"
|
||||||
#include "pb/response_deck_download.pb.h"
|
#include "pb/response_deck_download.pb.h"
|
||||||
#include "pending_command.h"
|
#include "pending_command.h"
|
||||||
|
#include "phasestoolbar.h"
|
||||||
|
#include "pictureloader.h"
|
||||||
|
#include "player.h"
|
||||||
|
#include "playerlistwidget.h"
|
||||||
|
#include "replay_timeline_widget.h"
|
||||||
|
#include "settingscache.h"
|
||||||
|
#include "tab_supervisor.h"
|
||||||
|
#include "window_sets.h"
|
||||||
|
#include "zoneviewwidget.h"
|
||||||
|
#include "zoneviewzone.h"
|
||||||
|
|
||||||
|
#include <QAction>
|
||||||
|
#include <QCompleter>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QDockWidget>
|
||||||
|
#include <QFileDialog>
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QLabel>
|
||||||
|
#include <QMenu>
|
||||||
|
#include <QMessageBox>
|
||||||
|
#include <QSplitter>
|
||||||
|
#include <QStackedWidget>
|
||||||
|
#include <QTimer>
|
||||||
|
#include <QToolButton>
|
||||||
|
#include <QWidget>
|
||||||
#include <google/protobuf/descriptor.h>
|
#include <google/protobuf/descriptor.h>
|
||||||
|
|
||||||
ToggleButton::ToggleButton(QWidget *parent) : QPushButton(parent), state(false)
|
ToggleButton::ToggleButton(QWidget *parent) : QPushButton(parent), state(false)
|
||||||
|
@ -248,6 +248,9 @@ void TabGame::refreshShortcuts()
|
||||||
if (aResetLayout) {
|
if (aResetLayout) {
|
||||||
aResetLayout->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aResetLayout"));
|
aResetLayout->setShortcuts(settingsCache->shortcuts().getShortcut("Player/aResetLayout"));
|
||||||
}
|
}
|
||||||
|
if (aFocusChat) {
|
||||||
|
aFocusChat->setShortcuts(settingsCache->shortcuts().getShortcut("tab_game/aFocusChat"));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeckViewContainer::loadLocalDeck()
|
void DeckViewContainer::loadLocalDeck()
|
||||||
|
@ -531,6 +534,9 @@ void TabGame::retranslateUi()
|
||||||
if (aCloseReplay) {
|
if (aCloseReplay) {
|
||||||
aCloseReplay->setText(tr("C&lose replay"));
|
aCloseReplay->setText(tr("C&lose replay"));
|
||||||
}
|
}
|
||||||
|
if (aFocusChat) {
|
||||||
|
aFocusChat->setText(tr("&Focus Chat"));
|
||||||
|
}
|
||||||
if (sayLabel) {
|
if (sayLabel) {
|
||||||
sayLabel->setText(tr("&Say:"));
|
sayLabel->setText(tr("&Say:"));
|
||||||
}
|
}
|
||||||
|
@ -971,8 +977,6 @@ void TabGame::startGame(bool resuming)
|
||||||
playerListWidget->setGameStarted(true, resuming);
|
playerListWidget->setGameStarted(true, resuming);
|
||||||
gameInfo.set_started(true);
|
gameInfo.set_started(true);
|
||||||
static_cast<GameScene *>(gameView->scene())->rearrange();
|
static_cast<GameScene *>(gameView->scene())->rearrange();
|
||||||
if (sayEdit && players.size() > 1)
|
|
||||||
sayEdit->setFocus();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void TabGame::stopGame()
|
void TabGame::stopGame()
|
||||||
|
@ -1413,6 +1417,8 @@ void TabGame::createMenuItems()
|
||||||
connect(aConcede, SIGNAL(triggered()), this, SLOT(actConcede()));
|
connect(aConcede, SIGNAL(triggered()), this, SLOT(actConcede()));
|
||||||
aLeaveGame = new QAction(this);
|
aLeaveGame = new QAction(this);
|
||||||
connect(aLeaveGame, SIGNAL(triggered()), this, SLOT(actLeaveGame()));
|
connect(aLeaveGame, SIGNAL(triggered()), this, SLOT(actLeaveGame()));
|
||||||
|
aFocusChat = new QAction(this);
|
||||||
|
connect(aFocusChat, SIGNAL(triggered()), sayEdit, SLOT(setFocus()));
|
||||||
aCloseReplay = nullptr;
|
aCloseReplay = nullptr;
|
||||||
|
|
||||||
phasesMenu = new TearOffMenu(this);
|
phasesMenu = new TearOffMenu(this);
|
||||||
|
@ -1440,6 +1446,7 @@ void TabGame::createMenuItems()
|
||||||
gameMenu->addSeparator();
|
gameMenu->addSeparator();
|
||||||
gameMenu->addAction(aGameInfo);
|
gameMenu->addAction(aGameInfo);
|
||||||
gameMenu->addAction(aConcede);
|
gameMenu->addAction(aConcede);
|
||||||
|
gameMenu->addAction(aFocusChat);
|
||||||
gameMenu->addAction(aLeaveGame);
|
gameMenu->addAction(aLeaveGame);
|
||||||
addTabMenu(gameMenu);
|
addTabMenu(gameMenu);
|
||||||
}
|
}
|
||||||
|
@ -1456,6 +1463,7 @@ void TabGame::createReplayMenuItems()
|
||||||
aResetLayout = nullptr;
|
aResetLayout = nullptr;
|
||||||
aGameInfo = nullptr;
|
aGameInfo = nullptr;
|
||||||
aConcede = nullptr;
|
aConcede = nullptr;
|
||||||
|
aFocusChat = nullptr;
|
||||||
aLeaveGame = nullptr;
|
aLeaveGame = nullptr;
|
||||||
aCloseReplay = new QAction(this);
|
aCloseReplay = new QAction(this);
|
||||||
connect(aCloseReplay, SIGNAL(triggered()), this, SLOT(actLeaveGame()));
|
connect(aCloseReplay, SIGNAL(triggered()), this, SLOT(actLeaveGame()));
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include "pb/serverinfo_game.pb.h"
|
#include "pb/serverinfo_game.pb.h"
|
||||||
#include "tab.h"
|
#include "tab.h"
|
||||||
#include "tearoffmenu.h"
|
#include "tearoffmenu.h"
|
||||||
|
|
||||||
#include <QCompleter>
|
#include <QCompleter>
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
@ -19,7 +20,6 @@ class MessageLogWidget;
|
||||||
class QTimer;
|
class QTimer;
|
||||||
class QSplitter;
|
class QSplitter;
|
||||||
class QLabel;
|
class QLabel;
|
||||||
class QLineEdit;
|
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QToolButton;
|
class QToolButton;
|
||||||
class QMenu;
|
class QMenu;
|
||||||
|
@ -170,6 +170,7 @@ private:
|
||||||
*aReverseTurn, *aRemoveLocalArrows, *aRotateViewCW, *aRotateViewCCW, *aResetLayout, *aResetReplayLayout;
|
*aReverseTurn, *aRemoveLocalArrows, *aRotateViewCW, *aRotateViewCCW, *aResetLayout, *aResetReplayLayout;
|
||||||
QAction *aCardInfoDockVisible, *aCardInfoDockFloating, *aMessageLayoutDockVisible, *aMessageLayoutDockFloating,
|
QAction *aCardInfoDockVisible, *aCardInfoDockFloating, *aMessageLayoutDockVisible, *aMessageLayoutDockFloating,
|
||||||
*aPlayerListDockVisible, *aPlayerListDockFloating, *aReplayDockVisible, *aReplayDockFloating;
|
*aPlayerListDockVisible, *aPlayerListDockFloating, *aReplayDockVisible, *aReplayDockFloating;
|
||||||
|
QAction *aFocusChat;
|
||||||
QList<QAction *> phaseActions;
|
QList<QAction *> phaseActions;
|
||||||
|
|
||||||
Player *addPlayer(int playerId, const ServerInfo_User &info);
|
Player *addPlayer(int playerId, const ServerInfo_User &info);
|
||||||
|
|
|
@ -1,21 +1,22 @@
|
||||||
#include "tab_logs.h"
|
#include "tab_logs.h"
|
||||||
|
|
||||||
#include "abstractclient.h"
|
#include "abstractclient.h"
|
||||||
|
#include "customlineedit.h"
|
||||||
#include "pb/moderator_commands.pb.h"
|
#include "pb/moderator_commands.pb.h"
|
||||||
#include "pb/response_viewlog_history.pb.h"
|
#include "pb/response_viewlog_history.pb.h"
|
||||||
#include "pending_command.h"
|
#include "pending_command.h"
|
||||||
#include "window_sets.h"
|
#include "window_sets.h"
|
||||||
|
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QGroupBox>
|
#include <QGroupBox>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QRadioButton>
|
#include <QRadioButton>
|
||||||
#include <QSpinBox>
|
#include <QSpinBox>
|
||||||
#include <QTabWidget>
|
#include <QTabWidget>
|
||||||
|
|
||||||
#include <QtGui>
|
#include <QtGui>
|
||||||
#include <QtWidgets>
|
#include <QtWidgets>
|
||||||
|
|
||||||
|
@ -147,19 +148,19 @@ void TabLog::createDock()
|
||||||
{
|
{
|
||||||
|
|
||||||
labelFindUserName = new QLabel(tr("Username: "));
|
labelFindUserName = new QLabel(tr("Username: "));
|
||||||
findUsername = new QLineEdit("");
|
findUsername = new LineEditUnfocusable("");
|
||||||
findUsername->setAlignment(Qt::AlignCenter);
|
findUsername->setAlignment(Qt::AlignCenter);
|
||||||
labelFindIPAddress = new QLabel(tr("IP Address: "));
|
labelFindIPAddress = new QLabel(tr("IP Address: "));
|
||||||
findIPAddress = new QLineEdit("");
|
findIPAddress = new LineEditUnfocusable("");
|
||||||
findIPAddress->setAlignment(Qt::AlignCenter);
|
findIPAddress->setAlignment(Qt::AlignCenter);
|
||||||
labelFindGameName = new QLabel(tr("Game Name: "));
|
labelFindGameName = new QLabel(tr("Game Name: "));
|
||||||
findGameName = new QLineEdit("");
|
findGameName = new LineEditUnfocusable("");
|
||||||
findGameName->setAlignment(Qt::AlignCenter);
|
findGameName->setAlignment(Qt::AlignCenter);
|
||||||
labelFindGameID = new QLabel(tr("GameID: "));
|
labelFindGameID = new QLabel(tr("GameID: "));
|
||||||
findGameID = new QLineEdit("");
|
findGameID = new LineEditUnfocusable("");
|
||||||
findGameID->setAlignment(Qt::AlignCenter);
|
findGameID->setAlignment(Qt::AlignCenter);
|
||||||
labelMessage = new QLabel(tr("Message: "));
|
labelMessage = new QLabel(tr("Message: "));
|
||||||
findMessage = new QLineEdit("");
|
findMessage = new LineEditUnfocusable("");
|
||||||
findMessage->setAlignment(Qt::AlignCenter);
|
findMessage->setAlignment(Qt::AlignCenter);
|
||||||
|
|
||||||
mainRoom = new QCheckBox(tr("Main Room"));
|
mainRoom = new QCheckBox(tr("Main Room"));
|
||||||
|
|
|
@ -2,14 +2,15 @@
|
||||||
#define TAB_LOG_H
|
#define TAB_LOG_H
|
||||||
|
|
||||||
#include "tab.h"
|
#include "tab.h"
|
||||||
|
|
||||||
#include <QDialog>
|
#include <QDialog>
|
||||||
|
|
||||||
class AbstractClient;
|
class AbstractClient;
|
||||||
|
class LineEditUnfocusable;
|
||||||
|
|
||||||
class QGroupBox;
|
class QGroupBox;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QSpinBox;
|
class QSpinBox;
|
||||||
class QLineEdit;
|
|
||||||
class QCheckBox;
|
class QCheckBox;
|
||||||
class QRadioButton;
|
class QRadioButton;
|
||||||
class QLabel;
|
class QLabel;
|
||||||
|
@ -29,7 +30,7 @@ private:
|
||||||
AbstractClient *client;
|
AbstractClient *client;
|
||||||
QLabel *labelFindUserName, *labelFindIPAddress, *labelFindGameName, *labelFindGameID, *labelMessage, *labelMaximum,
|
QLabel *labelFindUserName, *labelFindIPAddress, *labelFindGameName, *labelFindGameID, *labelMessage, *labelMaximum,
|
||||||
*labelDescription;
|
*labelDescription;
|
||||||
QLineEdit *findUsername, *findIPAddress, *findGameName, *findGameID, *findMessage;
|
LineEditUnfocusable *findUsername, *findIPAddress, *findGameName, *findGameID, *findMessage;
|
||||||
QCheckBox *mainRoom, *gameRoom, *privateChat;
|
QCheckBox *mainRoom, *gameRoom, *privateChat;
|
||||||
QRadioButton *pastDays, *today, *lastHour;
|
QRadioButton *pastDays, *today, *lastHour;
|
||||||
QSpinBox *maximumResults, *pastXDays;
|
QSpinBox *maximumResults, *pastXDays;
|
||||||
|
|
|
@ -1,20 +1,21 @@
|
||||||
#include "tab_message.h"
|
#include "tab_message.h"
|
||||||
|
|
||||||
#include "abstractclient.h"
|
#include "abstractclient.h"
|
||||||
#include "chatview/chatview.h"
|
#include "chatview/chatview.h"
|
||||||
|
#include "customlineedit.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "settingscache.h"
|
|
||||||
#include "soundengine.h"
|
|
||||||
#include <QApplication>
|
|
||||||
#include <QDebug>
|
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QMenu>
|
|
||||||
#include <QSystemTrayIcon>
|
|
||||||
#include <QVBoxLayout>
|
|
||||||
|
|
||||||
#include "pb/event_user_message.pb.h"
|
#include "pb/event_user_message.pb.h"
|
||||||
#include "pb/serverinfo_user.pb.h"
|
#include "pb/serverinfo_user.pb.h"
|
||||||
#include "pb/session_commands.pb.h"
|
#include "pb/session_commands.pb.h"
|
||||||
#include "pending_command.h"
|
#include "pending_command.h"
|
||||||
|
#include "settingscache.h"
|
||||||
|
#include "soundengine.h"
|
||||||
|
|
||||||
|
#include <QApplication>
|
||||||
|
#include <QDebug>
|
||||||
|
#include <QMenu>
|
||||||
|
#include <QSystemTrayIcon>
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
TabMessage::TabMessage(TabSupervisor *_tabSupervisor,
|
TabMessage::TabMessage(TabSupervisor *_tabSupervisor,
|
||||||
AbstractClient *_client,
|
AbstractClient *_client,
|
||||||
|
@ -27,7 +28,7 @@ TabMessage::TabMessage(TabSupervisor *_tabSupervisor,
|
||||||
connect(chatView, SIGNAL(showCardInfoPopup(QPoint, QString)), this, SLOT(showCardInfoPopup(QPoint, QString)));
|
connect(chatView, SIGNAL(showCardInfoPopup(QPoint, QString)), this, SLOT(showCardInfoPopup(QPoint, QString)));
|
||||||
connect(chatView, SIGNAL(deleteCardInfoPopup(QString)), this, SLOT(deleteCardInfoPopup(QString)));
|
connect(chatView, SIGNAL(deleteCardInfoPopup(QString)), this, SLOT(deleteCardInfoPopup(QString)));
|
||||||
connect(chatView, SIGNAL(addMentionTag(QString)), this, SLOT(addMentionTag(QString)));
|
connect(chatView, SIGNAL(addMentionTag(QString)), this, SLOT(addMentionTag(QString)));
|
||||||
sayEdit = new QLineEdit;
|
sayEdit = new LineEditUnfocusable;
|
||||||
connect(sayEdit, SIGNAL(returnPressed()), this, SLOT(sendMessage()));
|
connect(sayEdit, SIGNAL(returnPressed()), this, SLOT(sendMessage()));
|
||||||
|
|
||||||
QVBoxLayout *vbox = new QVBoxLayout;
|
QVBoxLayout *vbox = new QVBoxLayout;
|
||||||
|
|
|
@ -5,7 +5,7 @@
|
||||||
|
|
||||||
class AbstractClient;
|
class AbstractClient;
|
||||||
class ChatView;
|
class ChatView;
|
||||||
class QLineEdit;
|
class LineEditUnfocusable;
|
||||||
class Event_UserMessage;
|
class Event_UserMessage;
|
||||||
class Response;
|
class Response;
|
||||||
class ServerInfo_User;
|
class ServerInfo_User;
|
||||||
|
@ -21,7 +21,7 @@ private:
|
||||||
bool userOnline;
|
bool userOnline;
|
||||||
|
|
||||||
ChatView *chatView;
|
ChatView *chatView;
|
||||||
QLineEdit *sayEdit;
|
LineEditUnfocusable *sayEdit;
|
||||||
|
|
||||||
QAction *aLeave;
|
QAction *aLeave;
|
||||||
signals:
|
signals:
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "tab_room.h"
|
#include "tab_room.h"
|
||||||
|
|
||||||
#include "abstractclient.h"
|
#include "abstractclient.h"
|
||||||
#include "chatview/chatview.h"
|
#include "chatview/chatview.h"
|
||||||
#include "dlg_settings.h"
|
#include "dlg_settings.h"
|
||||||
|
@ -16,10 +17,10 @@
|
||||||
#include "tab_supervisor.h"
|
#include "tab_supervisor.h"
|
||||||
#include "tab_userlists.h"
|
#include "tab_userlists.h"
|
||||||
#include "userlist.h"
|
#include "userlist.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QCompleter>
|
#include <QCompleter>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
|
|
|
@ -3,10 +3,10 @@
|
||||||
|
|
||||||
#include "lineeditcompleter.h"
|
#include "lineeditcompleter.h"
|
||||||
#include "tab.h"
|
#include "tab.h"
|
||||||
|
|
||||||
#include <QFocusEvent>
|
#include <QFocusEvent>
|
||||||
#include <QGroupBox>
|
#include <QGroupBox>
|
||||||
#include <QKeyEvent>
|
#include <QKeyEvent>
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QMap>
|
#include <QMap>
|
||||||
|
|
||||||
namespace google
|
namespace google
|
||||||
|
@ -20,7 +20,6 @@ class AbstractClient;
|
||||||
class UserList;
|
class UserList;
|
||||||
class QLabel;
|
class QLabel;
|
||||||
class ChatView;
|
class ChatView;
|
||||||
class QLineEdit;
|
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
class QTextTable;
|
class QTextTable;
|
||||||
class QCompleter;
|
class QCompleter;
|
||||||
|
|
|
@ -1,26 +1,26 @@
|
||||||
#include "tab_server.h"
|
#include "tab_server.h"
|
||||||
|
|
||||||
#include "abstractclient.h"
|
#include "abstractclient.h"
|
||||||
|
#include "pb/event_list_rooms.pb.h"
|
||||||
|
#include "pb/event_server_message.pb.h"
|
||||||
|
#include "pb/response_join_room.pb.h"
|
||||||
|
#include "pb/session_commands.pb.h"
|
||||||
|
#include "pending_command.h"
|
||||||
#include "tab_supervisor.h"
|
#include "tab_supervisor.h"
|
||||||
#include "userlist.h"
|
#include "userlist.h"
|
||||||
|
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QDebug>
|
#include <QDebug>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QInputDialog>
|
#include <QInputDialog>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QTextEdit>
|
#include <QTextEdit>
|
||||||
#include <QTreeView>
|
#include <QTreeView>
|
||||||
#include <QVBoxLayout>
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
#include "pb/event_list_rooms.pb.h"
|
|
||||||
#include "pb/event_server_message.pb.h"
|
|
||||||
#include "pb/response_join_room.pb.h"
|
|
||||||
#include "pb/session_commands.pb.h"
|
|
||||||
#include "pending_command.h"
|
|
||||||
|
|
||||||
RoomSelector::RoomSelector(AbstractClient *_client, QWidget *parent) : QGroupBox(parent), client(_client)
|
RoomSelector::RoomSelector(AbstractClient *_client, QWidget *parent) : QGroupBox(parent), client(_client)
|
||||||
{
|
{
|
||||||
roomList = new QTreeWidget;
|
roomList = new QTreeWidget;
|
||||||
|
|
|
@ -1,13 +1,7 @@
|
||||||
#include "tab_userlists.h"
|
#include "tab_userlists.h"
|
||||||
#include "abstractclient.h"
|
|
||||||
#include "soundengine.h"
|
|
||||||
#include "userinfobox.h"
|
|
||||||
#include "userlist.h"
|
|
||||||
#include <QHBoxLayout>
|
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QPushButton>
|
|
||||||
#include <QVBoxLayout>
|
|
||||||
|
|
||||||
|
#include "abstractclient.h"
|
||||||
|
#include "customlineedit.h"
|
||||||
#include "pb/event_add_to_list.pb.h"
|
#include "pb/event_add_to_list.pb.h"
|
||||||
#include "pb/event_remove_from_list.pb.h"
|
#include "pb/event_remove_from_list.pb.h"
|
||||||
#include "pb/event_user_joined.pb.h"
|
#include "pb/event_user_joined.pb.h"
|
||||||
|
@ -15,6 +9,13 @@
|
||||||
#include "pb/response_list_users.pb.h"
|
#include "pb/response_list_users.pb.h"
|
||||||
#include "pb/session_commands.pb.h"
|
#include "pb/session_commands.pb.h"
|
||||||
#include "pending_command.h"
|
#include "pending_command.h"
|
||||||
|
#include "soundengine.h"
|
||||||
|
#include "userinfobox.h"
|
||||||
|
#include "userlist.h"
|
||||||
|
|
||||||
|
#include <QHBoxLayout>
|
||||||
|
#include <QPushButton>
|
||||||
|
#include <QVBoxLayout>
|
||||||
|
|
||||||
TabUserLists::TabUserLists(TabSupervisor *_tabSupervisor,
|
TabUserLists::TabUserLists(TabSupervisor *_tabSupervisor,
|
||||||
AbstractClient *_client,
|
AbstractClient *_client,
|
||||||
|
@ -58,7 +59,7 @@ TabUserLists::TabUserLists(TabSupervisor *_tabSupervisor,
|
||||||
vbox->addWidget(allUsersList);
|
vbox->addWidget(allUsersList);
|
||||||
|
|
||||||
QHBoxLayout *addToBuddyList = new QHBoxLayout;
|
QHBoxLayout *addToBuddyList = new QHBoxLayout;
|
||||||
addBuddyEdit = new QLineEdit;
|
addBuddyEdit = new LineEditUnfocusable;
|
||||||
addBuddyEdit->setPlaceholderText(tr("Add to Buddy List"));
|
addBuddyEdit->setPlaceholderText(tr("Add to Buddy List"));
|
||||||
connect(addBuddyEdit, SIGNAL(returnPressed()), this, SLOT(addToBuddyList()));
|
connect(addBuddyEdit, SIGNAL(returnPressed()), this, SLOT(addToBuddyList()));
|
||||||
QPushButton *addBuddyButton = new QPushButton("Add");
|
QPushButton *addBuddyButton = new QPushButton("Add");
|
||||||
|
@ -67,7 +68,7 @@ TabUserLists::TabUserLists(TabSupervisor *_tabSupervisor,
|
||||||
addToBuddyList->addWidget(addBuddyButton);
|
addToBuddyList->addWidget(addBuddyButton);
|
||||||
|
|
||||||
QHBoxLayout *addToIgnoreList = new QHBoxLayout;
|
QHBoxLayout *addToIgnoreList = new QHBoxLayout;
|
||||||
addIgnoreEdit = new QLineEdit;
|
addIgnoreEdit = new LineEditUnfocusable;
|
||||||
addIgnoreEdit->setPlaceholderText(tr("Add to Ignore List"));
|
addIgnoreEdit->setPlaceholderText(tr("Add to Ignore List"));
|
||||||
connect(addIgnoreEdit, SIGNAL(returnPressed()), this, SLOT(addToIgnoreList()));
|
connect(addIgnoreEdit, SIGNAL(returnPressed()), this, SLOT(addToIgnoreList()));
|
||||||
QPushButton *addIgnoreButton = new QPushButton("Add");
|
QPushButton *addIgnoreButton = new QPushButton("Add");
|
||||||
|
|
|
@ -3,11 +3,11 @@
|
||||||
|
|
||||||
#include "pb/serverinfo_user.pb.h"
|
#include "pb/serverinfo_user.pb.h"
|
||||||
#include "tab.h"
|
#include "tab.h"
|
||||||
#include <QLineEdit>
|
|
||||||
|
|
||||||
class AbstractClient;
|
class AbstractClient;
|
||||||
class UserList;
|
class UserList;
|
||||||
class UserInfoBox;
|
class UserInfoBox;
|
||||||
|
class LineEditUnfocusable;
|
||||||
|
|
||||||
class Event_ListRooms;
|
class Event_ListRooms;
|
||||||
class Event_UserJoined;
|
class Event_UserJoined;
|
||||||
|
@ -41,8 +41,8 @@ private:
|
||||||
UserList *buddyList;
|
UserList *buddyList;
|
||||||
UserList *ignoreList;
|
UserList *ignoreList;
|
||||||
UserInfoBox *userInfoBox;
|
UserInfoBox *userInfoBox;
|
||||||
QLineEdit *addBuddyEdit;
|
LineEditUnfocusable *addBuddyEdit;
|
||||||
QLineEdit *addIgnoreEdit;
|
LineEditUnfocusable *addIgnoreEdit;
|
||||||
void addToList(const std::string &listName, const QString &userName);
|
void addToList(const std::string &listName, const QString &userName);
|
||||||
|
|
||||||
public:
|
public:
|
||||||
|
|
|
@ -1,4 +1,5 @@
|
||||||
#include "userlist.h"
|
#include "userlist.h"
|
||||||
|
|
||||||
#include "abstractclient.h"
|
#include "abstractclient.h"
|
||||||
#include "gameselector.h"
|
#include "gameselector.h"
|
||||||
#include "pb/moderator_commands.pb.h"
|
#include "pb/moderator_commands.pb.h"
|
||||||
|
@ -10,12 +11,14 @@
|
||||||
#include "tab_supervisor.h"
|
#include "tab_supervisor.h"
|
||||||
#include "tab_userlists.h"
|
#include "tab_userlists.h"
|
||||||
#include "user_context_menu.h"
|
#include "user_context_menu.h"
|
||||||
|
|
||||||
#include <QApplication>
|
#include <QApplication>
|
||||||
#include <QCheckBox>
|
#include <QCheckBox>
|
||||||
#include <QHBoxLayout>
|
#include <QHBoxLayout>
|
||||||
#include <QHeaderView>
|
#include <QHeaderView>
|
||||||
#include <QInputDialog>
|
#include <QInputDialog>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
|
#include <QLineEdit>
|
||||||
#include <QMenu>
|
#include <QMenu>
|
||||||
#include <QMessageBox>
|
#include <QMessageBox>
|
||||||
#include <QMouseEvent>
|
#include <QMouseEvent>
|
||||||
|
|
|
@ -1,4 +1,6 @@
|
||||||
#include "window_sets.h"
|
#include "window_sets.h"
|
||||||
|
|
||||||
|
#include "customlineedit.h"
|
||||||
#include "main.h"
|
#include "main.h"
|
||||||
#include "pictureloader.h"
|
#include "pictureloader.h"
|
||||||
#include "setsmodel.h"
|
#include "setsmodel.h"
|
||||||
|
@ -16,7 +18,6 @@
|
||||||
#include <QPushButton>
|
#include <QPushButton>
|
||||||
#include <QToolBar>
|
#include <QToolBar>
|
||||||
#include <QTreeView>
|
#include <QTreeView>
|
||||||
|
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
|
|
||||||
#define SORT_RESET -1
|
#define SORT_RESET -1
|
||||||
|
@ -60,10 +61,10 @@ WndSets::WndSets(QWidget *parent) : QMainWindow(parent)
|
||||||
setsEditToolBar->addAction(aBottom);
|
setsEditToolBar->addAction(aBottom);
|
||||||
|
|
||||||
// search field
|
// search field
|
||||||
searchField = new QLineEdit;
|
searchField = new LineEditUnfocusable;
|
||||||
searchField->setObjectName("searchEdit");
|
searchField->setObjectName("searchEdit");
|
||||||
searchField->setPlaceholderText(tr("Search by set name, code, or type"));
|
searchField->setPlaceholderText(tr("Search by set name, code, or type"));
|
||||||
searchField->addAction(QPixmap("theme:icons/search"), QLineEdit::LeadingPosition);
|
searchField->addAction(QPixmap("theme:icons/search"), LineEditUnfocusable::LeadingPosition);
|
||||||
searchField->setClearButtonEnabled(true);
|
searchField->setClearButtonEnabled(true);
|
||||||
setFocusProxy(searchField);
|
setFocusProxy(searchField);
|
||||||
|
|
||||||
|
|
|
@ -4,11 +4,11 @@
|
||||||
#include <QDialogButtonBox>
|
#include <QDialogButtonBox>
|
||||||
#include <QGridLayout>
|
#include <QGridLayout>
|
||||||
#include <QLabel>
|
#include <QLabel>
|
||||||
#include <QLineEdit>
|
|
||||||
#include <QMainWindow>
|
#include <QMainWindow>
|
||||||
#include <QSet>
|
#include <QSet>
|
||||||
|
|
||||||
class CardDatabase;
|
class CardDatabase;
|
||||||
|
class LineEditUnfocusable;
|
||||||
class QGroupBox;
|
class QGroupBox;
|
||||||
class QItemSelection;
|
class QItemSelection;
|
||||||
class QPushButton;
|
class QPushButton;
|
||||||
|
@ -35,7 +35,7 @@ private:
|
||||||
QGroupBox *sortWarning;
|
QGroupBox *sortWarning;
|
||||||
QLabel *sortWarningText;
|
QLabel *sortWarningText;
|
||||||
QPushButton *sortWarningButton;
|
QPushButton *sortWarningButton;
|
||||||
QLineEdit *searchField;
|
LineEditUnfocusable *searchField;
|
||||||
QGridLayout *mainLayout;
|
QGridLayout *mainLayout;
|
||||||
QHBoxLayout *filterBox;
|
QHBoxLayout *filterBox;
|
||||||
int sortIndex;
|
int sortIndex;
|
||||||
|
|
Loading…
Reference in a new issue