mirror of
https://github.com/AyuGram/AyuGramDesktop.git
synced 2025-04-22 00:57:09 +02:00
Get rid of Q_OBJECT in macOS MainWindow
This commit is contained in:
parent
1c8d4ee7ab
commit
ffbafcb5fb
2 changed files with 86 additions and 90 deletions
|
@ -17,9 +17,6 @@ https://github.com/telegramdesktop/tdesktop/blob/master/LEGAL
|
|||
namespace Platform {
|
||||
|
||||
class MainWindow : public Window::MainWindow {
|
||||
// The Q_OBJECT meta info is used for qobject_cast!
|
||||
Q_OBJECT
|
||||
|
||||
public:
|
||||
explicit MainWindow(not_null<Window::Controller*> controller);
|
||||
|
||||
|
@ -39,23 +36,6 @@ public:
|
|||
|
||||
class Private;
|
||||
|
||||
public Q_SLOTS:
|
||||
void psMacUndo();
|
||||
void psMacRedo();
|
||||
void psMacCut();
|
||||
void psMacCopy();
|
||||
void psMacPaste();
|
||||
void psMacDelete();
|
||||
void psMacSelectAll();
|
||||
void psMacEmojiAndSymbols();
|
||||
|
||||
void psMacBold();
|
||||
void psMacItalic();
|
||||
void psMacUnderline();
|
||||
void psMacStrikeOut();
|
||||
void psMacMonospace();
|
||||
void psMacClearFormat();
|
||||
|
||||
protected:
|
||||
bool eventFilter(QObject *obj, QEvent *evt) override;
|
||||
|
||||
|
|
|
@ -474,27 +474,99 @@ void MainWindow::createGlobalMenu() {
|
|||
}
|
||||
|
||||
QMenu *edit = psMainMenu.addMenu(tr::lng_mac_menu_edit(tr::now));
|
||||
psUndo = edit->addAction(tr::lng_mac_menu_undo(tr::now), this, SLOT(psMacUndo()), QKeySequence::Undo);
|
||||
psRedo = edit->addAction(tr::lng_mac_menu_redo(tr::now), this, SLOT(psMacRedo()), QKeySequence::Redo);
|
||||
psUndo = edit->addAction(
|
||||
tr::lng_mac_menu_undo(tr::now),
|
||||
this,
|
||||
[] { SendKeySequence(Qt::Key_Z, Qt::ControlModifier); },
|
||||
QKeySequence::Undo);
|
||||
psRedo = edit->addAction(
|
||||
tr::lng_mac_menu_redo(tr::now),
|
||||
this,
|
||||
[] {
|
||||
SendKeySequence(
|
||||
Qt::Key_Z,
|
||||
Qt::ControlModifier | Qt::ShiftModifier);
|
||||
},
|
||||
QKeySequence::Redo);
|
||||
edit->addSeparator();
|
||||
psCut = edit->addAction(tr::lng_mac_menu_cut(tr::now), this, SLOT(psMacCut()), QKeySequence::Cut);
|
||||
psCopy = edit->addAction(tr::lng_mac_menu_copy(tr::now), this, SLOT(psMacCopy()), QKeySequence::Copy);
|
||||
psPaste = edit->addAction(tr::lng_mac_menu_paste(tr::now), this, SLOT(psMacPaste()), QKeySequence::Paste);
|
||||
psDelete = edit->addAction(tr::lng_mac_menu_delete(tr::now), this, SLOT(psMacDelete()), QKeySequence(Qt::ControlModifier | Qt::Key_Backspace));
|
||||
psCut = edit->addAction(
|
||||
tr::lng_mac_menu_cut(tr::now),
|
||||
this,
|
||||
[] { SendKeySequence(Qt::Key_X, Qt::ControlModifier); },
|
||||
QKeySequence::Cut);
|
||||
psCopy = edit->addAction(
|
||||
tr::lng_mac_menu_copy(tr::now),
|
||||
this,
|
||||
[] { SendKeySequence(Qt::Key_C, Qt::ControlModifier); },
|
||||
QKeySequence::Copy);
|
||||
psPaste = edit->addAction(
|
||||
tr::lng_mac_menu_paste(tr::now),
|
||||
this,
|
||||
[] { SendKeySequence(Qt::Key_V, Qt::ControlModifier); },
|
||||
QKeySequence::Paste);
|
||||
psDelete = edit->addAction(
|
||||
tr::lng_mac_menu_delete(tr::now),
|
||||
this,
|
||||
[] { SendKeySequence(Qt::Key_Delete); },
|
||||
QKeySequence(Qt::ControlModifier | Qt::Key_Backspace));
|
||||
|
||||
edit->addSeparator();
|
||||
psBold = edit->addAction(tr::lng_menu_formatting_bold(tr::now), this, SLOT(psMacBold()), QKeySequence::Bold);
|
||||
psItalic = edit->addAction(tr::lng_menu_formatting_italic(tr::now), this, SLOT(psMacItalic()), QKeySequence::Italic);
|
||||
psUnderline = edit->addAction(tr::lng_menu_formatting_underline(tr::now), this, SLOT(psMacUnderline()), QKeySequence::Underline);
|
||||
psStrikeOut = edit->addAction(tr::lng_menu_formatting_strike_out(tr::now), this, SLOT(psMacStrikeOut()), Ui::kStrikeOutSequence);
|
||||
psMonospace = edit->addAction(tr::lng_menu_formatting_monospace(tr::now), this, SLOT(psMacMonospace()), Ui::kMonospaceSequence);
|
||||
psClearFormat = edit->addAction(tr::lng_menu_formatting_clear(tr::now), this, SLOT(psMacClearFormat()), Ui::kClearFormatSequence);
|
||||
psBold = edit->addAction(
|
||||
tr::lng_menu_formatting_bold(tr::now),
|
||||
this,
|
||||
[] { SendKeySequence(Qt::Key_B, Qt::ControlModifier); },
|
||||
QKeySequence::Bold);
|
||||
psItalic = edit->addAction(
|
||||
tr::lng_menu_formatting_italic(tr::now),
|
||||
this,
|
||||
[] { SendKeySequence(Qt::Key_I, Qt::ControlModifier); },
|
||||
QKeySequence::Italic);
|
||||
psUnderline = edit->addAction(
|
||||
tr::lng_menu_formatting_underline(tr::now),
|
||||
this,
|
||||
[] { SendKeySequence(Qt::Key_U, Qt::ControlModifier); },
|
||||
QKeySequence::Underline);
|
||||
psStrikeOut = edit->addAction(
|
||||
tr::lng_menu_formatting_strike_out(tr::now),
|
||||
this,
|
||||
[] {
|
||||
SendKeySequence(
|
||||
Qt::Key_X,
|
||||
Qt::ControlModifier | Qt::ShiftModifier);
|
||||
},
|
||||
Ui::kStrikeOutSequence);
|
||||
psMonospace = edit->addAction(
|
||||
tr::lng_menu_formatting_monospace(tr::now),
|
||||
this,
|
||||
[] {
|
||||
SendKeySequence(
|
||||
Qt::Key_M,
|
||||
Qt::ControlModifier | Qt::ShiftModifier);
|
||||
},
|
||||
Ui::kMonospaceSequence);
|
||||
psClearFormat = edit->addAction(
|
||||
tr::lng_menu_formatting_clear(tr::now),
|
||||
this,
|
||||
[] {
|
||||
SendKeySequence(
|
||||
Qt::Key_N,
|
||||
Qt::ControlModifier | Qt::ShiftModifier);
|
||||
},
|
||||
Ui::kClearFormatSequence);
|
||||
|
||||
edit->addSeparator();
|
||||
psSelectAll = edit->addAction(tr::lng_mac_menu_select_all(tr::now), this, SLOT(psMacSelectAll()), QKeySequence::SelectAll);
|
||||
psSelectAll = edit->addAction(
|
||||
tr::lng_mac_menu_select_all(tr::now),
|
||||
this,
|
||||
[] { SendKeySequence(Qt::Key_A, Qt::ControlModifier); },
|
||||
QKeySequence::SelectAll);
|
||||
|
||||
edit->addSeparator();
|
||||
edit->addAction(tr::lng_mac_menu_emoji_and_symbols(tr::now).replace('&', "&&"), this, SLOT(psMacEmojiAndSymbols()), QKeySequence(Qt::MetaModifier | Qt::ControlModifier | Qt::Key_Space));
|
||||
edit->addAction(
|
||||
tr::lng_mac_menu_emoji_and_symbols(tr::now).replace('&', "&&"),
|
||||
this,
|
||||
[] { [NSApp orderFrontCharacterPalette:nil]; },
|
||||
QKeySequence(Qt::MetaModifier | Qt::ControlModifier | Qt::Key_Space));
|
||||
|
||||
QMenu *window = psMainMenu.addMenu(tr::lng_mac_menu_window(tr::now));
|
||||
psContacts = window->addAction(tr::lng_mac_menu_contacts(tr::now));
|
||||
|
@ -550,62 +622,6 @@ void MainWindow::createGlobalMenu() {
|
|||
updateGlobalMenu();
|
||||
}
|
||||
|
||||
void MainWindow::psMacUndo() {
|
||||
SendKeySequence(Qt::Key_Z, Qt::ControlModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacRedo() {
|
||||
SendKeySequence(Qt::Key_Z, Qt::ControlModifier | Qt::ShiftModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacCut() {
|
||||
SendKeySequence(Qt::Key_X, Qt::ControlModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacCopy() {
|
||||
SendKeySequence(Qt::Key_C, Qt::ControlModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacPaste() {
|
||||
SendKeySequence(Qt::Key_V, Qt::ControlModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacDelete() {
|
||||
SendKeySequence(Qt::Key_Delete);
|
||||
}
|
||||
|
||||
void MainWindow::psMacSelectAll() {
|
||||
SendKeySequence(Qt::Key_A, Qt::ControlModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacEmojiAndSymbols() {
|
||||
[NSApp orderFrontCharacterPalette:nil];
|
||||
}
|
||||
|
||||
void MainWindow::psMacBold() {
|
||||
SendKeySequence(Qt::Key_B, Qt::ControlModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacItalic() {
|
||||
SendKeySequence(Qt::Key_I, Qt::ControlModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacUnderline() {
|
||||
SendKeySequence(Qt::Key_U, Qt::ControlModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacStrikeOut() {
|
||||
SendKeySequence(Qt::Key_X, Qt::ControlModifier | Qt::ShiftModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacMonospace() {
|
||||
SendKeySequence(Qt::Key_M, Qt::ControlModifier | Qt::ShiftModifier);
|
||||
}
|
||||
|
||||
void MainWindow::psMacClearFormat() {
|
||||
SendKeySequence(Qt::Key_N, Qt::ControlModifier | Qt::ShiftModifier);
|
||||
}
|
||||
|
||||
void MainWindow::updateGlobalMenuHook() {
|
||||
if (!positionInited()) {
|
||||
return;
|
||||
|
|
Loading…
Add table
Reference in a new issue