Qt: Remember the tile and font size

The QT_TILEWIDTH and QT_TILEHEIGHT read from NetHack config file
override the remembered settings.
Also set the smallest tile size to 6x6
This commit is contained in:
Pasi Kallinen
2018-09-12 18:42:29 +03:00
parent c7c21c264e
commit b33b66aa29
4 changed files with 22 additions and 6 deletions

View File

@@ -162,6 +162,7 @@ unix: Makefile.src and Makefile.utl inadvertently relied on a 'gnu make'
Qt: add Qt5 specific hints file for linux and Mac OS X (Ray Chason)
Qt: enable compiling Qt5 on Windows (Ray Chason)
Qt: entering extended commands, hide non-matching ones
Qt: remember tile and font size
General New Features

View File

@@ -490,6 +490,10 @@ NetHackQtMainWindow::NetHackQtMainWindow(NetHackQtKeyBuffer& ks) :
addToolBar(toolbar);
menubar = menuBar();
QCoreApplication::setOrganizationName("The NetHack DevTeam");
QCoreApplication::setOrganizationDomain("nethack.org");
QCoreApplication::setApplicationName("NetHack");
setWindowTitle("Qt NetHack");
if ( qt_compact_mode )
setWindowIcon(QIcon(QPixmap(nh_icon_small)));

View File

@@ -36,10 +36,11 @@ int qt_compact_mode = 0;
namespace nethack_qt4 {
#define TILEWMIN 1
#define TILEHMIN 1
#define TILEWMIN 6
#define TILEHMIN 6
NetHackQtSettings::NetHackQtSettings(int w, int h) :
settings(),
tilewidth(this),
tileheight(this),
widthlbl("&Width:",this),
@@ -63,9 +64,9 @@ NetHackQtSettings::NetHackQtSettings(int w, int h) :
heightlbl.setBuddy(&tileheight);
tileheight.setRange(TILEHMIN, 128);
default_fontsize=2;
tilewidth.setValue(16);
tileheight.setValue(16);
tilewidth.setValue(settings.value("tilewidth", 16).toInt());
tileheight.setValue(settings.value("tileheight", 16).toInt());
default_fontsize = settings.value("fontsize", 2).toInt();
// Tile/font sizes read from .nethackrc
if (qt_tilewidth != NULL) {
@@ -100,7 +101,7 @@ NetHackQtSettings::NetHackQtSettings(int w, int h) :
fontsize.addItem("Small");
fontsize.addItem("Tiny");
fontsize.setCurrentIndex(default_fontsize);
connect(&fontsize,SIGNAL(activated(int)),this,SIGNAL(fontChanged()));
connect(&fontsize,SIGNAL(activated(int)),this,SLOT(changedFont()));
QGridLayout* grid = new QGridLayout(this);
grid->addWidget(&whichsize, 0, 0, 1, 2);
@@ -126,11 +127,19 @@ NetHackQtGlyphs& NetHackQtSettings::glyphs()
return *theglyphs;
}
void NetHackQtSettings::changedFont()
{
settings.setValue("fontsize", fontsize.currentIndex());
emit fontChanged();
}
void NetHackQtSettings::resizeTiles()
{
int w = tilewidth.value();
int h = tileheight.value();
settings.setValue("tilewidth", tilewidth.value());
settings.setValue("tileheight", tileheight.value());
theglyphs->setSize(w,h);
emit tilesChanged();
}

View File

@@ -33,6 +33,7 @@ public slots:
void setGlyphSize(bool);
private:
QSettings settings;
QSpinBox tilewidth;
QSpinBox tileheight;
QLabel widthlbl;
@@ -48,6 +49,7 @@ private:
private slots:
void resizeTiles();
void changedFont();
};
extern NetHackQtSettings* qt_settings;