]> granicus.if.org Git - nethack/commitdiff
Qt: Remember the tile and font size
authorPasi Kallinen <paxed@alt.org>
Wed, 12 Sep 2018 15:42:29 +0000 (18:42 +0300)
committerPasi Kallinen <paxed@alt.org>
Wed, 12 Sep 2018 15:43:10 +0000 (18:43 +0300)
The QT_TILEWIDTH and QT_TILEHEIGHT read from NetHack config file
override the remembered settings.
Also set the smallest tile size to 6x6

doc/fixes36.2
win/Qt4/qt4main.cpp
win/Qt4/qt4set.cpp
win/Qt4/qt4set.h

index 9f76fc3e827ca957fff5be4f7591d1b9aa63b6a2..69a952609b4d3e8139c0db5c4c8b7aa2240ce710 100644 (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
index 4fd8d14da5d9c510ee3338a5c8b0389a2d4a8d58..547cc3e62b82f5d4ab55adc70def58ba6162cc02 100644 (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)));
index 03de1f6f732462c742c9489b431626ecf300f986..f9bfa246e7965cf09ae925f5a33a83b5eed79e3b 100644 (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();
 }
index e2253a8d6957e0883b30fe61f07d6375d62ac8cc..48b90f3062cc2e2c361f739c33a379bbde3171c4 100644 (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;