- updated README (just about what you should not do with the sources)
authorAkiko <akiko@linux-addicted.net>
Fri, 4 Oct 2013 15:38:49 +0000 (17:38 +0200)
committerAkiko <akiko@linux-addicted.net>
Fri, 4 Oct 2013 15:38:49 +0000 (17:38 +0200)
- image viewer (ImageWindow) to the editor
- changed widget handling of the editor MainWindow to stacked widgets
- updated English and German languages
- changed editor MainWindow mode and language to internal numerations
- added blocked mode to editor states

README
editor/CMakeLists.txt
editor/ImageWindow.cxx [new file with mode: 0644]
editor/ImageWindow.hxx [new file with mode: 0644]
editor/ImageWindow.ui [new file with mode: 0644]
editor/MainWindow.cxx
editor/MainWindow.hxx
editor/MainWindow.ui
editor/i18n_english.ts
editor/i18n_french.ts
editor/i18n_german.ts

diff --git a/README b/README
index dc891ef..920415d 100644 (file)
--- a/README
+++ b/README
@@ -5,3 +5,9 @@ QTinNS is free software. See the files whose names start with COPYING
 for copying permission.
 
 Copyright (C) 2013 Akiko <akiko@linux-addicted.net>.
+
+
+
+I know this is GPLv2 and therefore is free software, but please DO NOT
+port it to proprietary systems. Please support the open source idea and
+character and stay with free software.
index cbe634d..f3f0415 100644 (file)
@@ -1,7 +1,7 @@
 # Qt sources
-set                   (E_SOURCES Main.cxx MainWindow.cxx)
-set                   (E_HEADERS MainWindow.hxx)
-set                   (E_UI_FILES MainWindow.ui)
+set                   (E_SOURCES Main.cxx MainWindow.cxx ImageWindow.cxx)
+set                   (E_HEADERS MainWindow.hxx ImageWindow.hxx)
+set                   (E_UI_FILES MainWindow.ui ImageWindow.ui)
 set                   (E_RES_FILES Resources.qrc)
 set                   (E_TS_FILES i18n_english.ts i18n_french.ts i18n_german.ts)
 
diff --git a/editor/ImageWindow.cxx b/editor/ImageWindow.cxx
new file mode 100644 (file)
index 0000000..4ac1561
--- /dev/null
@@ -0,0 +1,91 @@
+#include <QBuffer>
+#include <QImageWriter>
+#include "ImageWindow.hxx"
+#include "ui_ImageWindow.h"
+
+// --- constructors and deconstructors ---
+
+ImageWindow::ImageWindow(QWidget *parent)
+: QMainWindow(parent), _ui(new Ui::ImageWindow), _num(0)
+{
+    _ui->setupUi(this);
+
+    setupActions();
+    setMode(Mode::Fresh);
+}
+
+ImageWindow::~ImageWindow()
+{
+    delete _ui;
+}
+
+// --- public slots ---
+
+void ImageWindow::slotImageSave()
+{
+    QBuffer buffer;
+    QImageWriter image(&buffer, "BMP");
+
+    image.write(_ui->lab_image->pixmap()->toImage());
+
+    _entry.setOData(buffer.buffer());
+    _entry.setOSize(buffer.size());
+    _entry.setCSize(_entry.cData().size());
+    _entry.setName(_ui->ed_name->text());
+    _entry.setNameLength(_entry.name().size() + 1);
+    _entry.setHSize(_entry.headerSize() + _entry.nameLength());
+
+    emit sigImageUpdate(_entry, _num);
+}
+
+void ImageWindow::slotImageDiscard()
+{
+    _entry = NCFile();
+    _num = 0;
+    _ui->lab_image->clear();
+
+    emit sigImageIgnored();
+}
+
+void ImageWindow::slotViewImage(NCFile& entry, quint32 row)
+{
+    _entry = entry;
+    _num = row;
+    _ui->lab_image->setPixmap(QPixmap::fromImage(QImage::fromData(entry.oData())));
+    _ui->ed_name->setText(entry.name());
+    _ui->ed_size_width->setValue(_ui->lab_image->pixmap()->width());
+    _ui->ed_size_height->setValue(_ui->lab_image->pixmap()->height());
+}
+
+// --- protected methods ---
+
+void ImageWindow::changeEvent(QEvent *event)
+{
+    if (event->type() == QEvent::LanguageChange)
+        _ui->retranslateUi(this);
+    else
+        QMainWindow::changeEvent(event);
+}
+
+void ImageWindow::setMode(const Mode mode)
+{
+    switch (mode)
+    {
+        case Mode::Edited:
+            _ui->act_image_save->setEnabled(true);
+
+            break;
+
+        case Mode::Fresh:
+        default:
+            _ui->act_image_save->setEnabled(false);
+    }
+}
+
+void ImageWindow::setupActions()
+{
+    connect(_ui->act_image_save, SIGNAL(triggered()),
+            this, SLOT(slotImageSave()));
+    connect(_ui->act_image_cancel, SIGNAL(triggered()),
+            this, SLOT(slotImageDiscard()));
+}
diff --git a/editor/ImageWindow.hxx b/editor/ImageWindow.hxx
new file mode 100644 (file)
index 0000000..6a9370a
--- /dev/null
@@ -0,0 +1,44 @@
+#pragma once
+
+#include <QMainWindow>
+#include "filesystem/NCFile.hxx"
+
+namespace Ui
+{
+    class ImageWindow;
+}
+
+class ImageWindow : public QMainWindow {
+    Q_OBJECT
+signals:
+    void sigImageUpdate(NCFile& entry, quint32 row) const;
+    void sigImageIgnored() const;
+
+public:
+    // internal typdefs
+    enum class Mode : quint8 {
+        Fresh,
+        Edited
+    };
+
+    // constructors and deconstructors
+    explicit ImageWindow(QWidget *parent = 0);
+    virtual ~ImageWindow();
+
+public slots:
+    void slotImageSave();
+    void slotImageDiscard();
+
+    void slotViewImage(NCFile& entry, quint32 row);
+
+protected:
+    // well well, you know, the protected stuff ... it's always the same
+    virtual void changeEvent(QEvent *event);
+    void setMode(const Mode mode = Mode::Fresh);
+    void setupActions();
+
+private:
+    Ui::ImageWindow *_ui;
+    NCFile _entry;
+    quint32 _num;
+};
diff --git a/editor/ImageWindow.ui b/editor/ImageWindow.ui
new file mode 100644 (file)
index 0000000..c2c1a60
--- /dev/null
@@ -0,0 +1,187 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>ImageWindow</class>
+ <widget class="QMainWindow" name="ImageWindow">
+  <property name="geometry">
+   <rect>
+    <x>0</x>
+    <y>0</y>
+    <width>800</width>
+    <height>600</height>
+   </rect>
+  </property>
+  <property name="windowTitle">
+   <string>FRM-IMAGE</string>
+  </property>
+  <property name="locale">
+   <locale language="English" country="UnitedStates"/>
+  </property>
+  <widget class="QWidget" name="wid_central">
+   <layout class="QVBoxLayout" name="verticalLayout">
+    <property name="margin">
+     <number>3</number>
+    </property>
+    <item>
+     <widget class="QScrollArea" name="wid_scroll">
+      <property name="frameShape">
+       <enum>QFrame::NoFrame</enum>
+      </property>
+      <property name="frameShadow">
+       <enum>QFrame::Plain</enum>
+      </property>
+      <property name="widgetResizable">
+       <bool>true</bool>
+      </property>
+      <widget class="QWidget" name="wid_image">
+       <property name="geometry">
+        <rect>
+         <x>0</x>
+         <y>0</y>
+         <width>794</width>
+         <height>572</height>
+        </rect>
+       </property>
+       <layout class="QVBoxLayout" name="verticalLayout_2">
+        <item>
+         <widget class="QLabel" name="lab_image">
+          <property name="frameShape">
+           <enum>QFrame::Panel</enum>
+          </property>
+          <property name="frameShadow">
+           <enum>QFrame::Sunken</enum>
+          </property>
+          <property name="text">
+           <string notr="true"/>
+          </property>
+          <property name="alignment">
+           <set>Qt::AlignCenter</set>
+          </property>
+         </widget>
+        </item>
+        <item>
+         <widget class="QWidget" name="wid_status" native="true">
+          <property name="sizePolicy">
+           <sizepolicy hsizetype="Preferred" vsizetype="Maximum">
+            <horstretch>0</horstretch>
+            <verstretch>0</verstretch>
+           </sizepolicy>
+          </property>
+          <layout class="QHBoxLayout" name="horizontalLayout">
+           <property name="spacing">
+            <number>0</number>
+           </property>
+           <property name="margin">
+            <number>0</number>
+           </property>
+           <item>
+            <widget class="QLabel" name="lab_name">
+             <property name="text">
+              <string>LAB-STATUS-NAME</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLineEdit" name="ed_name">
+             <property name="text">
+              <string notr="true"/>
+             </property>
+             <property name="readOnly">
+              <bool>true</bool>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <spacer name="sp_h">
+             <property name="orientation">
+              <enum>Qt::Horizontal</enum>
+             </property>
+             <property name="sizeHint" stdset="0">
+              <size>
+               <width>40</width>
+               <height>20</height>
+              </size>
+             </property>
+            </spacer>
+           </item>
+           <item>
+            <widget class="QLabel" name="lab_size">
+             <property name="text">
+              <string>LAB-STATUS-SIZE</string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QSpinBox" name="ed_size_width">
+             <property name="readOnly">
+              <bool>true</bool>
+             </property>
+             <property name="minimum">
+              <number>0</number>
+             </property>
+             <property name="maximum">
+              <number>16384</number>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QLabel" name="lab_x">
+             <property name="text">
+              <string notr="true"> X </string>
+             </property>
+            </widget>
+           </item>
+           <item>
+            <widget class="QSpinBox" name="ed_size_height">
+             <property name="readOnly">
+              <bool>true</bool>
+             </property>
+             <property name="minimum">
+              <number>0</number>
+             </property>
+             <property name="maximum">
+              <number>16384</number>
+             </property>
+            </widget>
+           </item>
+          </layout>
+         </widget>
+        </item>
+       </layout>
+      </widget>
+     </widget>
+    </item>
+   </layout>
+  </widget>
+  <widget class="QMenuBar" name="menubar">
+   <property name="geometry">
+    <rect>
+     <x>0</x>
+     <y>0</y>
+     <width>800</width>
+     <height>22</height>
+    </rect>
+   </property>
+   <widget class="QMenu" name="mm_image">
+    <property name="title">
+     <string>MM-IMAGE</string>
+    </property>
+    <addaction name="act_image_save"/>
+    <addaction name="separator"/>
+    <addaction name="act_image_cancel"/>
+   </widget>
+   <addaction name="mm_image"/>
+  </widget>
+  <action name="act_image_save">
+   <property name="text">
+    <string>ME-IMAGE-SAVE</string>
+   </property>
+  </action>
+  <action name="act_image_cancel">
+   <property name="text">
+    <string>ME-IMAGE-CANCEL</string>
+   </property>
+  </action>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
index 0f29ce9..7100be0 100644 (file)
@@ -3,6 +3,7 @@
 #include <QDebug>
 #include <QEvent>
 #include <QFileDialog>
+#include <QLabel>
 #include <QProxyStyle>
 #include <QSettings>
 #include <QStyleFactory>
@@ -10,6 +11,7 @@
 #include "MainWindow.hxx"
 #include "ui_MainWindow.h"
 #include "filesystem/NCFilesystem.hxx"
+#include "ImageWindow.hxx"
 
 // --- internal typedefs ---
 
@@ -30,12 +32,17 @@ const QString TableHeader("header size;position;compressed size;original size;na
 
 MainWindow::MainWindow(QWidget *parent)
 : QMainWindow(parent), _ui(new Ui::MainWindow), _translator(new QTranslator(this)),
-  _settings(new QSettings("LinuxAddicted", "QTinNS Editor", this)), _vfs(new NCFilesystem)
+  _settings(new QSettings("LinuxAddicted", "QTinNS Editor", this)), _vfs(new NCFilesystem),
+  _img(new ImageWindow(this)), _def_status(new QLabel)
 {
     _ui->setupUi(this);
     _ui->wid_table->setColumnCount(7);
     _ui->wid_table->setHorizontalHeaderLabels(TableHeader.split(";"));
     _ui->wid_table->setSelectionBehavior(QAbstractItemView::SelectRows);
+    _ui->wid_stack->addWidget(_img);
+    _ui->wid_stack->setCurrentIndex(0);
+
+    statusBar()->insertWidget(0, _def_status);
 
     setLanguage(Language::English);
     setupActions();
@@ -67,6 +74,13 @@ MainWindow::~MainWindow()
         _settings->sync();
     }
 
+    _img->setVisible(false);
+    _ui->wid_stack->removeWidget(_img);
+
+    statusBar()->removeWidget(_def_status);
+
+    delete _def_status;
+    delete _img;
     delete _vfs;
     delete _settings;
     delete _translator;
@@ -190,6 +204,16 @@ void MainWindow::slotFileConvLin()
     slotTableSelected();
 }
 
+void MainWindow::slotFileImage()
+{
+    QTW *table = _ui->wid_table;
+    NCFile entry = _vfs->fileGet(table->currentRow());
+
+    _img->slotViewImage(entry, table->currentRow());
+    _ui->wid_stack->setCurrentIndex(1);
+    setMode(Mode::Blocked);
+}
+
 void MainWindow::slotLangEnglish()
 {
     setLanguage(Language::English);
@@ -236,18 +260,19 @@ void MainWindow::slotAboutQt()
 
 void MainWindow::slotStatusUpdate()
 {
-    QString msg1 = tr("MSG-UPD-FILE") + ": '" + _filename + "' " + tr("MSG-UPD-WITH") + " "
-                   + QString::number(_vfs->count()) + " " + tr("MSG-UPD-ENTRIES");
-    QString msg2 = tr("FRM-MAINWINDOW") + " - " + msg1;
+    QString msg1 = " " + tr("MSG-UPD-FILE") + ": '" + _filename + "' " + tr("MSG-UPD-WITH") + " "
+                   + QString::number(_vfs->count()) + " " + tr("MSG-UPD-ENTRIES") + " ";
 
-    statusBar()->showMessage(msg1);
-    setWindowTitle(msg2);
+    _def_status->setText(msg1);
 }
 
 void MainWindow::slotTableSelected()
 {
     QTW *table = _ui->wid_table;
     NCFile entry = _vfs->fileGet(table->currentRow());
+    QImage image = QImage::fromData(entry.oData());
+
+    setMode(Mode::Selected);
 
     if (entry.name().count("/"))
         _ui->act_file_conv_win->setEnabled(true);
@@ -259,7 +284,10 @@ void MainWindow::slotTableSelected()
     else
         _ui->act_file_conv_lin->setEnabled(false);
 
-    setMode(Mode::Selected);
+    if (image.isNull())
+        _ui->act_file_image->setEnabled(false);
+    else
+        _ui->act_file_image->setEnabled(true);
 }
 
 void MainWindow::slotTableChange(qint32 row)
@@ -557,11 +585,21 @@ void MainWindow::slotTableReplace(NCFile& entry, quint32 row)
 
     connect(table, SIGNAL(cellChanged(qint32, qint32)),
             this, SLOT(slotTableChange(qint32)));
+
+    _ui->wid_stack->setCurrentIndex(0);
+    setMode(Mode::Edited);
 }
 
 void MainWindow::slotTableRemove(quint32 row)
 {
     _ui->wid_table->removeRow(row);
+    setMode(Mode::Edited);
+}
+
+void MainWindow::slotImageIgnored()
+{
+    _ui->wid_stack->setCurrentIndex(0);
+    setMode(Mode::Edited);
 }
 
 // --- protected methods ---
@@ -574,7 +612,7 @@ void MainWindow::changeEvent(QEvent *event)
         QMainWindow::changeEvent(event);
 }
 
-void MainWindow::setLanguage(const Language::Type lang)
+void MainWindow::setLanguage(const Language lang)
 {
     QTranslator *translator = new QTranslator(this);
 
@@ -608,13 +646,16 @@ void MainWindow::setLanguage(const Language::Type lang)
             {
                 case Language::French:
                     _ui->act_lang_french->setEnabled(false);
+                    setLocale({"fr_FR.UTF-8"});
                     break;
                 case Language::German:
                     _ui->act_lang_german->setEnabled(false);
+                    setLocale({"de_DE.UTF-8"});
                     break;
                 case Language::English:
                 default:
                     _ui->act_lang_english->setEnabled(false);
+                    setLocale({"us_EN.UTF-8"});
             }
         }
         else
@@ -622,43 +663,73 @@ void MainWindow::setLanguage(const Language::Type lang)
     }
 }
 
-void MainWindow::setMode(const Mode::Type mode)
+void MainWindow::setMode(const Mode mode)
 {
+    _ui->act_app_new->setEnabled(false);
+    _ui->act_app_open->setEnabled(false);
+    _ui->act_app_save->setEnabled(false);
+    _ui->act_app_saveas->setEnabled(false);
+    _ui->act_app_quit->setEnabled(false);
+
+    _ui->mm_file->setEnabled(false);
+
+    _ui->act_file_add->setEnabled(false);
+    _ui->act_file_replace->setEnabled(false);
+    _ui->act_file_remove->setEnabled(false);
+    _ui->act_file_save_plain->setEnabled(false);
+    _ui->act_file_save_pak->setEnabled(false);
+    _ui->act_file_save_zlib->setEnabled(false);
+    _ui->act_file_conv_win->setEnabled(false);
+    _ui->act_file_conv_lin->setEnabled(false);
+    _ui->act_file_image->setEnabled(false);
+
     switch (mode)
     {
         case Mode::Fresh:
             _filename = "";
+
             _ui->act_app_open->setEnabled(true);
-            _ui->act_app_save->setEnabled(false);
-            _ui->act_app_saveas->setEnabled(false);
-            _ui->act_file_replace->setEnabled(false);
-            _ui->act_file_remove->setEnabled(false);
-            _ui->act_file_save_plain->setEnabled(false);
-            _ui->act_file_save_pak->setEnabled(false);
-            _ui->act_file_save_zlib->setEnabled(false);
-            _ui->act_file_conv_win->setEnabled(false);
-            _ui->act_file_conv_lin->setEnabled(false);
+            _ui->act_app_quit->setEnabled(true);
+
+            _ui->mm_file->setEnabled(true);
+
+            _ui->act_file_add->setEnabled(true);
+
             break;
+
         case Mode::Edited:
-            _ui->act_app_open->setEnabled(false);
+            _ui->wid_table->clearSelection();
+
+            _ui->act_app_new->setEnabled(true);
             _ui->act_app_save->setEnabled(true);
             _ui->act_app_saveas->setEnabled(true);
-            _ui->act_file_replace->setEnabled(false);
-            _ui->act_file_remove->setEnabled(false);
-            _ui->act_file_save_plain->setEnabled(false);
-            _ui->act_file_save_pak->setEnabled(false);
-            _ui->act_file_save_zlib->setEnabled(false);
+            _ui->act_app_quit->setEnabled(true);
+
+            _ui->mm_file->setEnabled(true);
+
+            _ui->act_file_add->setEnabled(true);
+
             break;
+
         case Mode::Selected:
-            _ui->act_app_open->setEnabled(false);
+            _ui->act_app_new->setEnabled(true);
             _ui->act_app_save->setEnabled(true);
             _ui->act_app_saveas->setEnabled(true);
+            _ui->act_app_quit->setEnabled(true);
+
+            _ui->mm_file->setEnabled(true);
+
+            _ui->act_file_add->setEnabled(true);
             _ui->act_file_replace->setEnabled(true);
             _ui->act_file_remove->setEnabled(true);
             _ui->act_file_save_plain->setEnabled(true);
             _ui->act_file_save_pak->setEnabled(true);
             _ui->act_file_save_zlib->setEnabled(true);
+
             break;
+
+        case Mode::Blocked:
+            _ui->act_app_quit->setEnabled(true);
     }
 }
 
@@ -668,6 +739,7 @@ void MainWindow::setupActions()
     QAction *ctx_sep1 = new QAction(this);
     QAction *ctx_sep2 = new QAction(this);
     QAction *ctx_sep3 = new QAction(this);
+    QAction *ctx_sep4 = new QAction(this);
 
     // all the nice connections we need for the GUI
     connect(_ui->act_app_new, SIGNAL(triggered()),
@@ -697,6 +769,8 @@ void MainWindow::setupActions()
             this, SLOT(slotFileConvWin()));
     connect(_ui->act_file_conv_lin, SIGNAL(triggered()),
             this, SLOT(slotFileConvLin()));
+    connect(_ui->act_file_image, SIGNAL(triggered()),
+            this, SLOT(slotFileImage()));
 
     connect(_ui->act_lang_english, SIGNAL(triggered()),
             this, SLOT(slotLangEnglish()));
@@ -734,10 +808,17 @@ void MainWindow::setupActions()
     connect(_vfs, SIGNAL(sigFileRemove(quint32)),
             this, SLOT(slotTableRemove(quint32)));
 
+    // image viewer connections
+    connect(_img, SIGNAL(sigImageUpdate(NCFile&, quint32)),
+            this, SLOT(slotTableReplace(NCFile&, quint32)));
+    connect(_img, SIGNAL(sigImageIgnored()),
+            this, SLOT(slotImageIgnored()));
+
     // context menus for the QTableWidget
     ctx_sep1->setSeparator(true);
     ctx_sep2->setSeparator(true);
     ctx_sep3->setSeparator(true);
+    ctx_sep4->setSeparator(true);
 
     table->addAction(_ui->act_file_add);
     table->addAction(ctx_sep1);
@@ -750,4 +831,6 @@ void MainWindow::setupActions()
     table->addAction(ctx_sep3);
     table->addAction(_ui->act_file_conv_win);
     table->addAction(_ui->act_file_conv_lin);
+    table->addAction(ctx_sep4);
+    table->addAction(_ui->act_file_image);
 }
index e598ff3..63361da 100644 (file)
@@ -7,34 +7,31 @@ namespace Ui
 {
     class MainWindow;
 }
+class QLabel;
 class QSettings;
 class QTranslator;
 class NCFile;
 class NCFilesystem;
+class ImageWindow;
 
-namespace Language
-{
-    enum Type : quint8 {
+class MainWindow : public QMainWindow {
+    Q_OBJECT
+public:
+    // internal typedefs
+    using ColType = NC::FileData::Type;
+
+    enum class Language : quint8 {
         English,
         French,
         German
     };
-}
 
-namespace Mode
-{
-    enum Type : quint8 {
+    enum class Mode : quint8 {
         Fresh,
         Edited,
-        Selected
+        Selected,
+        Blocked
     };
-}
-
-class MainWindow : public QMainWindow {
-    Q_OBJECT
-public:
-    // internal typedefs
-    using ColType = NC::FileData::Type;
 
     // constructors and deconstructors
     explicit MainWindow(QWidget *parent = 0);
@@ -56,6 +53,7 @@ public slots:
     void slotFileSaveZLIB();
     void slotFileConvWin();
     void slotFileConvLin();
+    void slotFileImage();
 
     void slotLangEnglish();
     void slotLangFrench();
@@ -78,11 +76,13 @@ public slots:
     void slotTableReplace(NCFile& entry, quint32 row);
     void slotTableRemove(quint32 row);
 
+    void slotImageIgnored();
+
 protected:
     // protected stuff
     virtual void changeEvent(QEvent *event);
-    void setLanguage(const Language::Type lang = Language::English);
-    void setMode(const Mode::Type mode = Mode::Fresh);
+    void setLanguage(const Language lang = Language::English);
+    void setMode(const Mode mode = Mode::Fresh);
     void setupActions();
 
 private:
@@ -90,6 +90,7 @@ private:
     QTranslator *_translator;
     QSettings *_settings;
     NCFilesystem *_vfs;
-    QVector<QPair<qint32, qint32>> _marks;
+    ImageWindow *_img;
+    QLabel *_def_status;
     QString _filename;
 };
index 5b36234..51b0dd4 100644 (file)
   </property>
   <widget class="QWidget" name="wid_center">
    <layout class="QGridLayout" name="gridLayout">
-    <property name="leftMargin">
-     <number>0</number>
-    </property>
-    <property name="topMargin">
-     <number>0</number>
-    </property>
-    <property name="rightMargin">
-     <number>0</number>
-    </property>
-    <property name="bottomMargin">
+    <property name="margin">
      <number>0</number>
     </property>
     <item row="0" column="0">
-     <widget class="QTableWidget" name="wid_table">
-      <property name="contextMenuPolicy">
-       <enum>Qt::ActionsContextMenu</enum>
-      </property>
-      <property name="selectionMode">
-       <enum>QAbstractItemView::SingleSelection</enum>
+     <widget class="QStackedWidget" name="wid_stack">
+      <property name="currentIndex">
+       <number>0</number>
       </property>
+      <widget class="QWidget" name="page_table">
+       <layout class="QVBoxLayout" name="verticalLayout">
+        <property name="margin">
+         <number>0</number>
+        </property>
+        <item>
+         <widget class="QTableWidget" name="wid_table">
+          <property name="contextMenuPolicy">
+           <enum>Qt::ActionsContextMenu</enum>
+          </property>
+          <property name="selectionMode">
+           <enum>QAbstractItemView::SingleSelection</enum>
+          </property>
+         </widget>
+        </item>
+       </layout>
+      </widget>
      </widget>
     </item>
    </layout>
@@ -48,7 +53,7 @@
      <x>0</x>
      <y>0</y>
      <width>800</width>
-     <height>25</height>
+     <height>22</height>
     </rect>
    </property>
    <widget class="QMenu" name="mm_app">
     <addaction name="separator"/>
     <addaction name="act_file_conv_win"/>
     <addaction name="act_file_conv_lin"/>
+    <addaction name="separator"/>
+    <addaction name="act_file_image"/>
    </widget>
    <addaction name="mm_app"/>
    <addaction name="mm_file"/>
     <string>ME-FILE-CONV-LIN</string>
    </property>
   </action>
+  <action name="act_file_image">
+   <property name="text">
+    <string>ME-FILE-IMAGE</string>
+   </property>
+  </action>
  </widget>
  <resources>
   <include location="Resources.qrc"/>
index a2e3ebd..90bf6c4 100644 (file)
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.0" language="en_US">
+<context>
+    <name>ImageWindow</name>
+    <message>
+        <location filename="ImageWindow.ui" line="14"/>
+        <source>FRM-IMAGE</source>
+        <translation>QTinNS Editor Viewer</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="63"/>
+        <source>LAB-STATUS-NAME</source>
+        <translation>Image name:</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="80"/>
+        <source>LAB-STATUS-SIZE</source>
+        <translation>Image size:</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="153"/>
+        <source>MM-IMAGE</source>
+        <translation>Image</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="163"/>
+        <source>ME-IMAGE-SAVE</source>
+        <translation>Save changes</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="168"/>
+        <source>ME-IMAGE-CANCEL</source>
+        <translation>Discard changes</translation>
+    </message>
+</context>
 <context>
     <name>MainWindow</name>
     <message>
         <location filename="MainWindow.ui" line="14"/>
-        <location filename="MainWindow.cxx" line="221"/>
+        <location filename="MainWindow.cxx" line="258"/>
         <source>FRM-MAINWINDOW</source>
         <translation>QTinNS Editor</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="56"/>
+        <location filename="MainWindow.ui" line="61"/>
         <source>MM-APP</source>
         <translation>Filesystem</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="68"/>
+        <location filename="MainWindow.ui" line="73"/>
         <source>MM-ABOUT</source>
         <translation>About</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="75"/>
+        <location filename="MainWindow.ui" line="80"/>
         <source>MM-CONF</source>
         <translation>Configuration</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="79"/>
+        <location filename="MainWindow.ui" line="84"/>
         <source>SM-LANG</source>
         <translation>Language</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="87"/>
+        <location filename="MainWindow.ui" line="92"/>
         <source>SM-STYLE</source>
         <translation>GUI Style</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="100"/>
+        <location filename="MainWindow.ui" line="105"/>
         <source>MM-FILE</source>
         <translation>File</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="122"/>
+        <location filename="MainWindow.ui" line="129"/>
         <source>ME-APP-QUIT</source>
         <translation>Quit</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="127"/>
+        <location filename="MainWindow.ui" line="134"/>
         <source>ME-APP-NEW</source>
         <translation>New virtual filesystem</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="132"/>
+        <location filename="MainWindow.ui" line="139"/>
         <source>ME-APP-OPEN</source>
         <translation>Open virtual filesystem ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="137"/>
+        <location filename="MainWindow.ui" line="144"/>
         <source>ME-APP-SAVE</source>
         <translation>Save virtual filesystem</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="142"/>
+        <location filename="MainWindow.ui" line="149"/>
         <source>ME-APP-SAVEAS</source>
         <translation>Save virtual filesystem as ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="147"/>
+        <location filename="MainWindow.ui" line="154"/>
         <source>ME-ABOUT-APP</source>
         <translation>About QTinNS Editor ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="152"/>
+        <location filename="MainWindow.ui" line="159"/>
         <source>ME-ABOUT-QT</source>
         <translation>About Qt framework ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="157"/>
+        <location filename="MainWindow.ui" line="164"/>
         <source>ME-LANG-ENGLISH</source>
         <translation>English</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="162"/>
+        <location filename="MainWindow.ui" line="169"/>
         <source>ME-LANG-FRENCH</source>
         <translation>French</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="167"/>
+        <location filename="MainWindow.ui" line="174"/>
         <source>ME-LANG-GERMAN</source>
         <translation>German</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="172"/>
+        <location filename="MainWindow.ui" line="179"/>
         <source>ME-STYLE-DEFAULT</source>
         <translation>System Default</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="177"/>
+        <location filename="MainWindow.ui" line="184"/>
         <source>ME-STYLE-WINDOWS</source>
         <oldsource>ME-STYLE-CDE</oldsource>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="182"/>
+        <location filename="MainWindow.ui" line="189"/>
         <source>ME-STYLE-GTK</source>
         <oldsource>ME-STYLE-CLEANLOOKS</oldsource>
         <translation>GTK+</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="187"/>
+        <location filename="MainWindow.ui" line="194"/>
         <source>ME-STYLE-FUSION</source>
         <oldsource>ME-STYLE-PLASTIQUE</oldsource>
         <translation>Fusion</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="192"/>
+        <location filename="MainWindow.ui" line="199"/>
         <source>ME-FILE-ADD</source>
         <translation>Add file(s) ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="197"/>
+        <location filename="MainWindow.ui" line="204"/>
         <source>ME-FILE-REPLACE</source>
         <translation>Replace file ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="202"/>
+        <location filename="MainWindow.ui" line="209"/>
         <source>ME-FILE-REMOVE</source>
         <translation>Remove file ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="207"/>
+        <location filename="MainWindow.ui" line="214"/>
         <source>ME-FILE-SAVE-PLAIN</source>
         <translation>Save plain file as ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="212"/>
+        <location filename="MainWindow.ui" line="219"/>
         <source>ME-FILE-SAVE-PAK</source>
         <translation>Save PAK file as ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="217"/>
+        <location filename="MainWindow.ui" line="224"/>
         <source>ME-FILE-SAVE-ZLIB</source>
         <translation>Save ZLIB file as ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="222"/>
+        <location filename="MainWindow.ui" line="229"/>
         <source>ME-FILE-CONV-WIN</source>
         <translation>Convert UNIX path to Windows path</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="227"/>
+        <location filename="MainWindow.ui" line="234"/>
         <source>ME-FILE-CONV-LIN</source>
         <translation>Convert Windows path to UNIX path</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="122"/>
-        <location filename="MainWindow.cxx" line="133"/>
+        <location filename="MainWindow.ui" line="239"/>
+        <source>ME-FILE-IMAGE</source>
+        <translation>View image ...</translation>
+    </message>
+    <message>
+        <location filename="MainWindow.cxx" line="130"/>
+        <location filename="MainWindow.cxx" line="141"/>
         <source>DIA-OPEN-FILE</source>
         <translation>Open files ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="86"/>
-        <location filename="MainWindow.cxx" line="106"/>
+        <location filename="MainWindow.cxx" line="94"/>
+        <location filename="MainWindow.cxx" line="114"/>
         <source>FLT-FILE-VFS</source>
         <oldsource>DIA-SAVE-FILE</oldsource>
         <translation>Neocron VFS file (*.vfs *.pak)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="86"/>
+        <location filename="MainWindow.cxx" line="94"/>
         <source>DIA-OPEN-VFS</source>
         <translation>Open virtual filesystem ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="106"/>
+        <location filename="MainWindow.cxx" line="114"/>
         <source>DIA-SAVE-VFS</source>
         <translation>Save virtual filesystem ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="122"/>
-        <location filename="MainWindow.cxx" line="133"/>
+        <location filename="MainWindow.cxx" line="130"/>
+        <location filename="MainWindow.cxx" line="141"/>
         <source>FLT-FILE-ANY</source>
         <translation>File (*.*)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="151"/>
+        <location filename="MainWindow.cxx" line="159"/>
         <source>DIA-SAVE-PLAIN</source>
         <translation>Save file ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="151"/>
+        <location filename="MainWindow.cxx" line="159"/>
         <source>FLT-FILE-PLAIN</source>
         <translation>File (*.*)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="159"/>
+        <location filename="MainWindow.cxx" line="167"/>
         <source>DIA-SAVE-PAK</source>
         <translation>Save PAK file ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="159"/>
+        <location filename="MainWindow.cxx" line="167"/>
         <source>FLT-FILE-PAK</source>
         <translation>Neocron PAK file (*.pak)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="167"/>
+        <location filename="MainWindow.cxx" line="175"/>
         <source>DIA-SAVE-ZLIB</source>
         <translation>Save ZLIB file ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="167"/>
+        <location filename="MainWindow.cxx" line="175"/>
         <source>FLT-FILE-ZLIB</source>
         <translation>ZLIB file (*.z)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="219"/>
+        <location filename="MainWindow.cxx" line="256"/>
         <source>MSG-UPD-FILE</source>
         <translation>Virtual filesystem</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="219"/>
+        <location filename="MainWindow.cxx" line="256"/>
         <source>MSG-UPD-WITH</source>
         <translation>with</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="220"/>
+        <location filename="MainWindow.cxx" line="257"/>
         <source>MSG-UPD-ENTRIES</source>
         <translation>entries</translation>
     </message>
 </context>
+<context>
+    <name>PictureWindow</name>
+    <message>
+        <source>FRM-IMAGE</source>
+        <translation type="obsolete">QTinNS Editor Viewer</translation>
+    </message>
+    <message>
+        <source>MM-IMAGE</source>
+        <translation type="obsolete">Picture</translation>
+    </message>
+    <message>
+        <source>ME-IMAGE-SAVE</source>
+        <translation type="obsolete">Save changes</translation>
+    </message>
+    <message>
+        <source>ME-IMAGE-CANCEL</source>
+        <translation type="obsolete">Discard changes</translation>
+    </message>
+</context>
 </TS>
index 2d3c6ee..63c8560 100644 (file)
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.0" language="fr_FR">
+<context>
+    <name>ImageWindow</name>
+    <message>
+        <location filename="ImageWindow.ui" line="14"/>
+        <source>FRM-IMAGE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="63"/>
+        <source>LAB-STATUS-NAME</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="80"/>
+        <source>LAB-STATUS-SIZE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="153"/>
+        <source>MM-IMAGE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="163"/>
+        <source>ME-IMAGE-SAVE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="168"/>
+        <source>ME-IMAGE-CANCEL</source>
+        <translation type="unfinished"></translation>
+    </message>
+</context>
 <context>
     <name>MainWindow</name>
     <message>
         <location filename="MainWindow.ui" line="14"/>
-        <location filename="MainWindow.cxx" line="221"/>
+        <location filename="MainWindow.cxx" line="258"/>
         <source>FRM-MAINWINDOW</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="56"/>
+        <location filename="MainWindow.ui" line="61"/>
         <source>MM-APP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="68"/>
+        <location filename="MainWindow.ui" line="73"/>
         <source>MM-ABOUT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="75"/>
+        <location filename="MainWindow.ui" line="80"/>
         <source>MM-CONF</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="79"/>
+        <location filename="MainWindow.ui" line="84"/>
         <source>SM-LANG</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="87"/>
+        <location filename="MainWindow.ui" line="92"/>
         <source>SM-STYLE</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="100"/>
+        <location filename="MainWindow.ui" line="105"/>
         <source>MM-FILE</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="122"/>
+        <location filename="MainWindow.ui" line="129"/>
         <source>ME-APP-QUIT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="127"/>
+        <location filename="MainWindow.ui" line="134"/>
         <source>ME-APP-NEW</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="132"/>
+        <location filename="MainWindow.ui" line="139"/>
         <source>ME-APP-OPEN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="137"/>
+        <location filename="MainWindow.ui" line="144"/>
         <source>ME-APP-SAVE</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="142"/>
+        <location filename="MainWindow.ui" line="149"/>
         <source>ME-APP-SAVEAS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="147"/>
+        <location filename="MainWindow.ui" line="154"/>
         <source>ME-ABOUT-APP</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="152"/>
+        <location filename="MainWindow.ui" line="159"/>
         <source>ME-ABOUT-QT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="157"/>
+        <location filename="MainWindow.ui" line="164"/>
         <source>ME-LANG-ENGLISH</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="162"/>
+        <location filename="MainWindow.ui" line="169"/>
         <source>ME-LANG-FRENCH</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="167"/>
+        <location filename="MainWindow.ui" line="174"/>
         <source>ME-LANG-GERMAN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="172"/>
+        <location filename="MainWindow.ui" line="179"/>
         <source>ME-STYLE-DEFAULT</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="177"/>
+        <location filename="MainWindow.ui" line="184"/>
         <source>ME-STYLE-WINDOWS</source>
         <oldsource>ME-STYLE-CDE</oldsource>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="182"/>
+        <location filename="MainWindow.ui" line="189"/>
         <source>ME-STYLE-GTK</source>
         <oldsource>ME-STYLE-CLEANLOOKS</oldsource>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="187"/>
+        <location filename="MainWindow.ui" line="194"/>
         <source>ME-STYLE-FUSION</source>
         <oldsource>ME-STYLE-PLASTIQUE</oldsource>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="192"/>
+        <location filename="MainWindow.ui" line="199"/>
         <source>ME-FILE-ADD</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="197"/>
+        <location filename="MainWindow.ui" line="204"/>
         <source>ME-FILE-REPLACE</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="202"/>
+        <location filename="MainWindow.ui" line="209"/>
         <source>ME-FILE-REMOVE</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="207"/>
+        <location filename="MainWindow.ui" line="214"/>
         <source>ME-FILE-SAVE-PLAIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="212"/>
+        <location filename="MainWindow.ui" line="219"/>
         <source>ME-FILE-SAVE-PAK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="217"/>
+        <location filename="MainWindow.ui" line="224"/>
         <source>ME-FILE-SAVE-ZLIB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="222"/>
+        <location filename="MainWindow.ui" line="229"/>
         <source>ME-FILE-CONV-WIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="227"/>
+        <location filename="MainWindow.ui" line="234"/>
         <source>ME-FILE-CONV-LIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="122"/>
-        <location filename="MainWindow.cxx" line="133"/>
+        <location filename="MainWindow.ui" line="239"/>
+        <source>ME-FILE-IMAGE</source>
+        <translation type="unfinished"></translation>
+    </message>
+    <message>
+        <location filename="MainWindow.cxx" line="130"/>
+        <location filename="MainWindow.cxx" line="141"/>
         <source>DIA-OPEN-FILE</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="86"/>
-        <location filename="MainWindow.cxx" line="106"/>
+        <location filename="MainWindow.cxx" line="94"/>
+        <location filename="MainWindow.cxx" line="114"/>
         <source>FLT-FILE-VFS</source>
         <oldsource>DIA-SAVE-FILE</oldsource>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="86"/>
+        <location filename="MainWindow.cxx" line="94"/>
         <source>DIA-OPEN-VFS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="106"/>
+        <location filename="MainWindow.cxx" line="114"/>
         <source>DIA-SAVE-VFS</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="122"/>
-        <location filename="MainWindow.cxx" line="133"/>
+        <location filename="MainWindow.cxx" line="130"/>
+        <location filename="MainWindow.cxx" line="141"/>
         <source>FLT-FILE-ANY</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="151"/>
+        <location filename="MainWindow.cxx" line="159"/>
         <source>DIA-SAVE-PLAIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="151"/>
+        <location filename="MainWindow.cxx" line="159"/>
         <source>FLT-FILE-PLAIN</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="159"/>
+        <location filename="MainWindow.cxx" line="167"/>
         <source>DIA-SAVE-PAK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="159"/>
+        <location filename="MainWindow.cxx" line="167"/>
         <source>FLT-FILE-PAK</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="167"/>
+        <location filename="MainWindow.cxx" line="175"/>
         <source>DIA-SAVE-ZLIB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="167"/>
+        <location filename="MainWindow.cxx" line="175"/>
         <source>FLT-FILE-ZLIB</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="219"/>
+        <location filename="MainWindow.cxx" line="256"/>
         <source>MSG-UPD-FILE</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="219"/>
+        <location filename="MainWindow.cxx" line="256"/>
         <source>MSG-UPD-WITH</source>
         <translation type="unfinished"></translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="220"/>
+        <location filename="MainWindow.cxx" line="257"/>
         <source>MSG-UPD-ENTRIES</source>
         <translation type="unfinished"></translation>
     </message>
index b62454c..dc9c5d0 100644 (file)
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE TS>
 <TS version="2.0" language="de_DE">
+<context>
+    <name>ImageWindow</name>
+    <message>
+        <location filename="ImageWindow.ui" line="14"/>
+        <source>FRM-IMAGE</source>
+        <translation>QTinNS Editor Viewer</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="63"/>
+        <source>LAB-STATUS-NAME</source>
+        <translation>Bildname:</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="80"/>
+        <source>LAB-STATUS-SIZE</source>
+        <translation>Bildgröße:</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="153"/>
+        <source>MM-IMAGE</source>
+        <translation>Bild</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="163"/>
+        <source>ME-IMAGE-SAVE</source>
+        <translation>Speichere Änderungen</translation>
+    </message>
+    <message>
+        <location filename="ImageWindow.ui" line="168"/>
+        <source>ME-IMAGE-CANCEL</source>
+        <translation>Verwerfe Änderungen</translation>
+    </message>
+</context>
 <context>
     <name>MainWindow</name>
     <message>
         <location filename="MainWindow.ui" line="14"/>
-        <location filename="MainWindow.cxx" line="221"/>
+        <location filename="MainWindow.cxx" line="258"/>
         <source>FRM-MAINWINDOW</source>
         <translation>QTinNS Editor</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="56"/>
+        <location filename="MainWindow.ui" line="61"/>
         <source>MM-APP</source>
         <translation>Dateisystem</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="68"/>
+        <location filename="MainWindow.ui" line="73"/>
         <source>MM-ABOUT</source>
         <translation>Über</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="75"/>
+        <location filename="MainWindow.ui" line="80"/>
         <source>MM-CONF</source>
         <translation>Konfiguration</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="79"/>
+        <location filename="MainWindow.ui" line="84"/>
         <source>SM-LANG</source>
         <translation>Sprache</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="87"/>
+        <location filename="MainWindow.ui" line="92"/>
         <source>SM-STYLE</source>
         <translation>GUI Stil</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="100"/>
+        <location filename="MainWindow.ui" line="105"/>
         <source>MM-FILE</source>
         <translation>Datei</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="122"/>
+        <location filename="MainWindow.ui" line="129"/>
         <source>ME-APP-QUIT</source>
         <translation>Beenden</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="127"/>
+        <location filename="MainWindow.ui" line="134"/>
         <source>ME-APP-NEW</source>
         <translation>Neues virtuelles Dateisystem</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="132"/>
+        <location filename="MainWindow.ui" line="139"/>
         <source>ME-APP-OPEN</source>
         <translation>Virtuelles Dateisystem öffnen ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="137"/>
+        <location filename="MainWindow.ui" line="144"/>
         <source>ME-APP-SAVE</source>
         <translation>Virtuelles Dateisystem speichern</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="142"/>
+        <location filename="MainWindow.ui" line="149"/>
         <source>ME-APP-SAVEAS</source>
         <translation>Virtuelles Dateisystem speichern als ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="147"/>
+        <location filename="MainWindow.ui" line="154"/>
         <source>ME-ABOUT-APP</source>
         <translation>Über QTinNS Editor ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="152"/>
+        <location filename="MainWindow.ui" line="159"/>
         <source>ME-ABOUT-QT</source>
         <translation>Über Qt Framework ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="157"/>
+        <location filename="MainWindow.ui" line="164"/>
         <source>ME-LANG-ENGLISH</source>
         <translation>Englisch</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="162"/>
+        <location filename="MainWindow.ui" line="169"/>
         <source>ME-LANG-FRENCH</source>
         <translation>Französisch</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="167"/>
+        <location filename="MainWindow.ui" line="174"/>
         <source>ME-LANG-GERMAN</source>
         <translation>Deutsch</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="172"/>
+        <location filename="MainWindow.ui" line="179"/>
         <source>ME-STYLE-DEFAULT</source>
         <translation>System Standard</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="177"/>
+        <location filename="MainWindow.ui" line="184"/>
         <source>ME-STYLE-WINDOWS</source>
         <oldsource>ME-STYLE-CDE</oldsource>
         <translation>Windows</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="182"/>
+        <location filename="MainWindow.ui" line="189"/>
         <source>ME-STYLE-GTK</source>
         <oldsource>ME-STYLE-CLEANLOOKS</oldsource>
         <translation>GTK+</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="187"/>
+        <location filename="MainWindow.ui" line="194"/>
         <source>ME-STYLE-FUSION</source>
         <oldsource>ME-STYLE-PLASTIQUE</oldsource>
         <translation>Fusion</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="192"/>
+        <location filename="MainWindow.ui" line="199"/>
         <source>ME-FILE-ADD</source>
         <translation>Füge Datei(en) hinzu ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="197"/>
+        <location filename="MainWindow.ui" line="204"/>
         <source>ME-FILE-REPLACE</source>
         <translation>Ersetze Datei ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="202"/>
+        <location filename="MainWindow.ui" line="209"/>
         <source>ME-FILE-REMOVE</source>
         <translation>Entferne Datei ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="207"/>
+        <location filename="MainWindow.ui" line="214"/>
         <source>ME-FILE-SAVE-PLAIN</source>
         <translation>Speichere normale Datei als ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="212"/>
+        <location filename="MainWindow.ui" line="219"/>
         <source>ME-FILE-SAVE-PAK</source>
         <translation>Speichere PAK Datei als ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="217"/>
+        <location filename="MainWindow.ui" line="224"/>
         <source>ME-FILE-SAVE-ZLIB</source>
         <translation>Speichere ZLIB Datei als ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="222"/>
+        <location filename="MainWindow.ui" line="229"/>
         <source>ME-FILE-CONV-WIN</source>
         <translation>Konvertiere UNIX Pfad nach Windows</translation>
     </message>
     <message>
-        <location filename="MainWindow.ui" line="227"/>
+        <location filename="MainWindow.ui" line="234"/>
         <source>ME-FILE-CONV-LIN</source>
         <translation>Konvertiere Windows Pfad nach UNIX</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="122"/>
-        <location filename="MainWindow.cxx" line="133"/>
+        <location filename="MainWindow.ui" line="239"/>
+        <source>ME-FILE-IMAGE</source>
+        <translation>Bild anzeigen ...</translation>
+    </message>
+    <message>
+        <location filename="MainWindow.cxx" line="130"/>
+        <location filename="MainWindow.cxx" line="141"/>
         <source>DIA-OPEN-FILE</source>
         <translation>Datei öffnen ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="86"/>
-        <location filename="MainWindow.cxx" line="106"/>
+        <location filename="MainWindow.cxx" line="94"/>
+        <location filename="MainWindow.cxx" line="114"/>
         <source>FLT-FILE-VFS</source>
         <oldsource>DIA-SAVE-FILE</oldsource>
         <translation>Neocron VFS Datei (*.vfs *.pak)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="86"/>
+        <location filename="MainWindow.cxx" line="94"/>
         <source>DIA-OPEN-VFS</source>
         <translation>Virtuelles Dateisystem öffnen ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="106"/>
+        <location filename="MainWindow.cxx" line="114"/>
         <source>DIA-SAVE-VFS</source>
         <translation>Virtuelles Dateisystem speichern ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="122"/>
-        <location filename="MainWindow.cxx" line="133"/>
+        <location filename="MainWindow.cxx" line="130"/>
+        <location filename="MainWindow.cxx" line="141"/>
         <source>FLT-FILE-ANY</source>
         <translation>Datei (*.*)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="151"/>
+        <location filename="MainWindow.cxx" line="159"/>
         <source>DIA-SAVE-PLAIN</source>
         <translation>Datei speichern ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="151"/>
+        <location filename="MainWindow.cxx" line="159"/>
         <source>FLT-FILE-PLAIN</source>
         <translation>Datei (*.*)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="159"/>
+        <location filename="MainWindow.cxx" line="167"/>
         <source>DIA-SAVE-PAK</source>
         <translation>PAK Datei speichern ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="159"/>
+        <location filename="MainWindow.cxx" line="167"/>
         <source>FLT-FILE-PAK</source>
         <translation>Neocron PAK Datei (*.pak)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="167"/>
+        <location filename="MainWindow.cxx" line="175"/>
         <source>DIA-SAVE-ZLIB</source>
         <translation>ZLIB Datei speichern ...</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="167"/>
+        <location filename="MainWindow.cxx" line="175"/>
         <source>FLT-FILE-ZLIB</source>
         <translation>ZLIB Datei (*.z)</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="219"/>
+        <location filename="MainWindow.cxx" line="256"/>
         <source>MSG-UPD-FILE</source>
         <translation>Virtuelles Dateisystem</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="219"/>
+        <location filename="MainWindow.cxx" line="256"/>
         <source>MSG-UPD-WITH</source>
         <translation>mit</translation>
     </message>
     <message>
-        <location filename="MainWindow.cxx" line="220"/>
+        <location filename="MainWindow.cxx" line="257"/>
         <source>MSG-UPD-ENTRIES</source>
         <translation>Einträgen</translation>
     </message>
 </context>
+<context>
+    <name>PictureWindow</name>
+    <message>
+        <source>FRM-IMAGE</source>
+        <translation type="obsolete">QTinNS Editor Viewer</translation>
+    </message>
+    <message>
+        <source>MM-IMAGE</source>
+        <translation type="obsolete">Bild</translation>
+    </message>
+    <message>
+        <source>ME-IMAGE-SAVE</source>
+        <translation type="obsolete">Speichere Änderungen</translation>
+    </message>
+    <message>
+        <source>ME-IMAGE-CANCEL</source>
+        <translation type="obsolete">Verwerfe Änderungen</translation>
+    </message>
+</context>
 </TS>