Skip to content

Commit

Permalink
Remove status bar
Browse files Browse the repository at this point in the history
Move qt_gettext declaration to i18n.h
Refresh checked/radio menu items before displaying menus
  • Loading branch information
jblang committed May 6, 2019
1 parent aceff78 commit f746cb0
Show file tree
Hide file tree
Showing 6 changed files with 60 additions and 46 deletions.
13 changes: 12 additions & 1 deletion src/include/i18n.h
Original file line number Diff line number Diff line change
@@ -1,14 +1,25 @@
#ifndef I18N_H
#define I18N_H
#include "aconfig.h"

#if defined(HAVE_GETTEXT)
// Use gettext library
#include <libintl.h>
#include <locale.h>

#elif defined (QT_GETTEXT)
#include "qt_gettext.h"
// Emulate gettext call using Qt's translation framework
#define bindtextdomain(x, y) (y)
#define textdomain(x)
const char *qt_gettext(const char *text);
#define gettext(STRING) qt_gettext(STRING)

#else
// No I18N available, just pass original string
#define gettext(STRING) STRING
#endif

// Define _ as alias for gettext
#define _(STRING) gettext(STRING)

#endif
2 changes: 0 additions & 2 deletions src/ui/ui-drv/qt/main.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ getMouse (int *x, int *y, int *b)
static void
printText(int x, int y, const char *text)
{
window->showMessage(text);
}

static void
Expand Down Expand Up @@ -148,7 +147,6 @@ showHelp (struct uih_context *c, const char *name)

QFont getFont() {
return QFont(QApplication::font().family(), 12);
//return QFont("Calibri", 12);
}

int imagePrint(struct image *image, int x, int y,
Expand Down
30 changes: 20 additions & 10 deletions src/ui/ui-drv/qt/mainwindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,6 @@ MainWindow::MainWindow(QWidget *parent)
{
setWindowTitle(QCoreApplication::applicationName());

statusBar()->show();

m_fractalWidget = new FractalWidget();
setCentralWidget(m_fractalWidget);

Expand Down Expand Up @@ -51,11 +49,6 @@ void MainWindow::closeEvent(QCloseEvent *)
ui_quit();
}

void MainWindow::showMessage(const QString &message)
{
statusBar()->showMessage(message, 5000);
}

QKeySequence::StandardKey MainWindow::keyForItem(const QString &name)
{
if (name == "initstate") return QKeySequence::New;
Expand Down Expand Up @@ -86,7 +79,9 @@ void MainWindow::buildMenu(struct uih_context *uih, const char *name)

void MainWindow::buildMenu(struct uih_context *uih, const char *name, QMenu *parent)
{
QActionGroup *group = new QActionGroup(parent);
QActionGroup *group = 0;

connect(parent, SIGNAL(aboutToShow()), SLOT(updateMenuCheckmarks()));

const menuitem *item;
for (int i = 0; (item = menu_item(name, i)) != NULL; i++) {
Expand All @@ -107,8 +102,11 @@ void MainWindow::buildMenu(struct uih_context *uih, const char *name, QMenu *par
if (item->flags & (MENUFLAG_RADIO | MENUFLAG_CHECKBOX)) {
action->setCheckable(true);
action->setChecked(menu_enabled(item, uih));
if (item->flags & MENUFLAG_RADIO)
if (item->flags & MENUFLAG_RADIO) {
if (!group)
group = new QActionGroup(parent);
action->setActionGroup(group);
}
}
connect(action, SIGNAL(triggered()), this, SLOT(activateMenuItem()));
parent->addAction(action);
Expand All @@ -135,10 +133,22 @@ void MainWindow::toggleMenu(struct uih_context *uih, const char *name)
void MainWindow::activateMenuItem()
{
QAction *action = qobject_cast<QAction *>(sender());
const menuitem *item = menu_findcommand(action->objectName().toLatin1());
const menuitem *item = menu_findcommand(action->objectName().toUtf8());
ui_menuactivate(item, NULL);
}

void MainWindow::updateMenuCheckmarks()
{
QMenu *menu = qobject_cast<QMenu *>(sender());
foreach(QAction *action, menu->actions()) {
if (action->isCheckable()) {
const menuitem *item = menu_findcommand(action->objectName().toUtf8());
action->setChecked(menu_enabled(item, globaluih));
}
}

}

void MainWindow::showDialog(struct uih_context *uih, const char *name)
{
const menuitem *item = menu_findcommand(name);
Expand Down
20 changes: 11 additions & 9 deletions src/ui/ui-drv/qt/mainwindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -5,24 +5,26 @@
class QImage;
class FractalWidget;
class MainWindow:public QMainWindow {
Q_OBJECT private:FractalWidget * m_fractalWidget;
Q_OBJECT
private:
FractalWidget * m_fractalWidget;
void readSettings ();
void writeSettings ();
static QKeySequence::StandardKey keyForItem (const QString & name);
protected:
void closeEvent (QCloseEvent *);
private slots:
void activateMenuItem ();
void updateMenuCheckmarks();
public:
MainWindow (QWidget * parent = 0);
MainWindow (QWidget *parent = 0);
~MainWindow ();
FractalWidget * fractalWidget ();
void showMessage (const QString & message);
void buildMenu (struct uih_context *uih, const char *name);
void buildMenu (struct uih_context *uih, const char *name, QMenu * parent);
void popupMenu (struct uih_context *uih, const char *name);
void toggleMenu (struct uih_context *uih, const char *name);
void showDialog (struct uih_context *uih, const char *name);
FractalWidget *fractalWidget();
void buildMenu(struct uih_context *uih, const char *name);
void buildMenu(struct uih_context *uih, const char *name, QMenu *parent);
void popupMenu(struct uih_context *uih, const char *name);
void toggleMenu(struct uih_context *uih, const char *name);
void showDialog(struct uih_context *uih, const char *name);
};


Expand Down
35 changes: 17 additions & 18 deletions src/ui/ui-drv/qt/qt.pri
Original file line number Diff line number Diff line change
@@ -1,18 +1,17 @@
INCLUDEPATH += $$PWD

macx:ICON = $$PWD/XaoS.icns
win32:RC_FILE = $$PWD/xaos.rc

SOURCES += \
$$PWD/main.cpp \
$$PWD/mainwindow.cpp \
$$PWD/fractalwidget.cpp \
$$PWD/customdialog.cpp

HEADERS += \
$$PWD/mainwindow.h \
$$PWD/fractalwidget.h \
$$PWD/customdialog.h \
$$PWD/aconfig.h \
$$PWD/qt_gettext.h \
$$PWD/version.h
INCLUDEPATH += $$PWD

macx:ICON = $$PWD/XaoS.icns
win32:RC_FILE = $$PWD/xaos.rc

SOURCES += \
$$PWD/main.cpp \
$$PWD/mainwindow.cpp \
$$PWD/fractalwidget.cpp \
$$PWD/customdialog.cpp

HEADERS += \
$$PWD/mainwindow.h \
$$PWD/fractalwidget.h \
$$PWD/customdialog.h \
$$PWD/aconfig.h \
$$PWD/version.h
6 changes: 0 additions & 6 deletions src/ui/ui-drv/qt/qt_gettext.h

This file was deleted.

0 comments on commit f746cb0

Please sign in to comment.