system/aqemu: Add some patches from git (including qemu-1.0 support)

Signed-off-by: Leo Midha <netrixtardis@stealth3.com>
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
This commit is contained in:
Robby Workman 2012-02-12 17:45:18 -06:00 committed by Niels Horn
parent 3a39822712
commit d2e2932320
8 changed files with 982 additions and 1 deletions

View file

@ -24,7 +24,7 @@
PRGNAM=aqemu
VERSION=${VERSION:-0.8.2}
BUILD=${BUILD:-2}
BUILD=${BUILD:-3}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
@ -69,6 +69,8 @@ find . \
\( -perm 666 -o -perm 664 -o -perm 600 -o -perm 444 -o -perm 440 -o -perm 400 \) \
-exec chmod 644 {} \;
for i in $CWD/patches/* ; do patch -p1 < $i ; done
cmake \
-DCMAKE_C_FLAGS:STRING="$SLKCFLAGS" \
-DCMAKE_CXX_FLAGS:STRING="$SLKCFLAGS" \

View file

@ -0,0 +1,55 @@
From 182975dadb7ac9fc8e851ed638dd6998002ff536 Mon Sep 17 00:00:00 2001
From: Andrey Rijov <rdron@users.sourceforge.net>
Date: Thu, 18 Aug 2011 22:03:13 +0400
Subject: [PATCH 1/7] Fixed bug #3392763
---
Device_Manager_Widget.cpp | 21 ++++++++++++++++++---
1 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/Device_Manager_Widget.cpp b/Device_Manager_Widget.cpp
index 7288baf..671930a 100644
--- a/Device_Manager_Widget.cpp
+++ b/Device_Manager_Widget.cpp
@@ -981,9 +981,10 @@ void Device_Manager_Widget::on_actionDelete_triggered()
{
if( ui.Devices_List->currentItem()->data(512).toString() == "device" + QString::number(fx) )
{
- finded = true;
-
Storage_Devices.removeAt( fx );
+ ui.Devices_List->takeItem( ui.Devices_List->currentRow() );
+ finded = true;
+ break;
}
}
@@ -993,10 +994,24 @@ void Device_Manager_Widget::on_actionDelete_triggered()
"Incorrect Device!" );
return;
}
+ else
+ {
+ // Rename items
+ for( int ix = 0, count = 0; ix < ui.Devices_List->count(); ++ix )
+ {
+ if( ui.Devices_List->item(ix)->data(512).toString().contains("device") )
+ {
+ ui.Devices_List->item(ix)->setData( 512, QString("device%1").arg(count) );
+ ++count;
+ }
+ }
+
+ emit Device_Changet();
+ return;
+ }
}
ui.Devices_List->takeItem( ui.Devices_List->currentRow() );
-
emit Device_Changet();
}
--
1.7.8.3

View file

@ -0,0 +1,25 @@
From b9b83bef7abd0b234b9641d523be9012ea1cf718 Mon Sep 17 00:00:00 2001
From: Andrey Rijov <rdron@users.sourceforge.net>
Date: Sun, 21 Aug 2011 12:53:11 +0400
Subject: [PATCH 2/7] Fixed bug #3395228
---
README | 2 +-
1 files changed, 1 insertions(+), 1 deletions(-)
diff --git a/README b/README
index ad70462..f8c08e2 100644
--- a/README
+++ b/README
@@ -37,7 +37,7 @@ INSTALLATION (For Unix):
Sample `cmake -DCMAKE_INSTALL_PREFIX=/usr/local/' this install AQEMU binary
in /usr/local/bin and install data in /usr/local/share/aqemu
- -DWITHOUT_EMBEDDED_DISPLAY = on | off (Default is: on)
+ -DWITHOUT_EMBEDDED_DISPLAY = on | off (Default is: off)
For building without support Embedded VNC Display.
-DDEBUG = on | off (Default is: off)
--
1.7.8.3

View file

@ -0,0 +1,97 @@
From 84314637afc540bd07aa25a64168246f505ecb38 Mon Sep 17 00:00:00 2001
From: Andrey Rijov <rdron@users.sourceforge.net>
Date: Sun, 11 Sep 2011 23:33:34 +0400
Subject: [PATCH 3/7] Some bug fixes
---
Create_HDD_Image_Window.ui | 2 +-
Main_Window.cpp | 3 ---
System_Info.cpp | 2 ++
Utils.cpp | 8 ++++----
4 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/Create_HDD_Image_Window.ui b/Create_HDD_Image_Window.ui
index 030d025..7d21b9b 100644
--- a/Create_HDD_Image_Window.ui
+++ b/Create_HDD_Image_Window.ui
@@ -175,7 +175,7 @@
<double>1.000000000000000</double>
</property>
<property name="maximum">
- <double>1024.000000000000000</double>
+ <double>9999.000000000000000</double>
</property>
<property name="singleStep">
<double>1.000000000000000</double>
diff --git a/Main_Window.cpp b/Main_Window.cpp
index f8cb244..5a8ed7e 100644
--- a/Main_Window.cpp
+++ b/Main_Window.cpp
@@ -5654,7 +5654,6 @@ void Main_Window::on_TB_HDB_Format_HDD_clicked()
hdd_win->Set_Image_File_Name( ui.Edit_HDB_Image_Path->text() );
hdd_win->Set_Image_Info( HDB_Info->Get_Disk_Info() );
- hdd_win->exec();
if( hdd_win->exec() == QDialog::Accepted )
HDB_Info->Update_Disk_Info( ui.Edit_HDB_Image_Path->text() );
@@ -5739,7 +5738,6 @@ void Main_Window::on_TB_HDC_Format_HDD_clicked()
hdd_win->Set_Image_File_Name( ui.Edit_HDC_Image_Path->text() );
hdd_win->Set_Image_Info( HDC_Info->Get_Disk_Info() );
- hdd_win->exec();
if( hdd_win->exec() == QDialog::Accepted )
HDC_Info->Update_Disk_Info( ui.Edit_HDC_Image_Path->text() );
@@ -5824,7 +5822,6 @@ void Main_Window::on_TB_HDD_Format_HDD_clicked()
hdd_win->Set_Image_File_Name( ui.Edit_HDD_Image_Path->text() );
hdd_win->Set_Image_Info( HDD_Info->Get_Disk_Info() );
- hdd_win->exec();
if( hdd_win->exec() == QDialog::Accepted )
HDD_Info->Update_Disk_Info( ui.Edit_HDD_Image_Path->text() );
diff --git a/System_Info.cpp b/System_Info.cpp
index 32ca029..d6d44dd 100644
--- a/System_Info.cpp
+++ b/System_Info.cpp
@@ -2394,6 +2394,8 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,
// Get all models string
QString all_models = tmp.mid( tmp.indexOf("models:") + QString("models:").count(), tmp.count() );
+ all_models.remove( QChar(' ') ); // Remove all spaces
+
QStringList net_cards_models = all_models.split( ',', QString::SkipEmptyParts );
if( net_cards_models.isEmpty() )
diff --git a/Utils.cpp b/Utils.cpp
index f9e9bc3..36ec8d4 100644
--- a/Utils.cpp
+++ b/Utils.cpp
@@ -220,19 +220,19 @@ bool Create_New_HDD_Image( bool encrypted, const QString &base_image,
args << "-f" << format;
args << file_name;
-
+
switch( size.Suffix )
{
case VM::Size_Suf_Mb: // MB
- args << QString::number( (long)(size.Size * 1024) );
+ args << QString::number( size.Size ) + "M";
break;
case VM::Size_Suf_Gb: // GB
- args << QString::number( (long)(size.Size * 1024) ) + "M";
+ args << QString::number( size.Size ) + "G";
break;
default: // KG
- args << QString::number( (long)size.Size );
+ args << QString::number( size.Size );
break;
}
--
1.7.8.3

View file

@ -0,0 +1,27 @@
From 9b21d88a4f4a681f9e80c11e83e81c976e0fc91e Mon Sep 17 00:00:00 2001
From: Andrey Rijov <rdron@users.sourceforge.net>
Date: Sat, 29 Oct 2011 10:20:32 +0400
Subject: [PATCH 4/7] Fix build error on Qt 4.8
---
Embedded_Display/vncview.cpp | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/Embedded_Display/vncview.cpp b/Embedded_Display/vncview.cpp
index 9e105c9..0be5944 100644
--- a/Embedded_Display/vncview.cpp
+++ b/Embedded_Display/vncview.cpp
@@ -27,8 +27,8 @@
#include <QMessageBox>
#include <QInputDialog>
#define KMessageBox QMessageBox
- #define error(parent, message, caption) \
- critical(parent, caption, message)
+/* #define error(parent, message, caption) \
+ critical(parent, caption, message)*/
#else
#include "settings.h"
#include <KActionCollection>
--
1.7.8.3

View file

@ -0,0 +1,36 @@
From 2a0f32e8cb46c8a1c0a33ed151737e5abb5679ed Mon Sep 17 00:00:00 2001
From: Andrey Rijov <rdron@users.sourceforge.net>
Date: Mon, 31 Oct 2011 19:38:17 +0400
Subject: [PATCH 5/7] Updated aqemu.desktop file (See bug: 3430317)
---
menu_data/aqemu.desktop | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/menu_data/aqemu.desktop b/menu_data/aqemu.desktop
index 9c3558c..f579c74 100644
--- a/menu_data/aqemu.desktop
+++ b/menu_data/aqemu.desktop
@@ -1,14 +1,15 @@
[Desktop Entry]
Encoding=UTF-8
-Name=AQEMU
Exec=aqemu
Terminal=false
Type=Application
-Icon=aqemu_48x48.png
+Icon=aqemu_48x48
StartupNotify=true
Categories=System;Emulator;
-Name[ru]=AQEMU
+Name=AQEMU
+Comment=Virtual machine manager
Name[en]=AQEMU
-Comment[ru]=Управление виртуальными машинами
Comment[en]=Virtual machine manager
+Name[ru]=AQEMU
+Comment[ru]=Управление виртуальными машинами
--
1.7.8.3

View file

@ -0,0 +1,24 @@
From 9446cc47b96cbbe52976e8893fc50ad730fbaa9e Mon Sep 17 00:00:00 2001
From: Andrey Rijov <rdron@users.sourceforge.net>
Date: Sun, 13 Nov 2011 11:36:13 +0400
Subject: [PATCH 6/7] Fixed emulator monitor. (BUG ID: 3432871)
---
Monitor_Window.cpp | 1 +
1 files changed, 1 insertions(+), 0 deletions(-)
diff --git a/Monitor_Window.cpp b/Monitor_Window.cpp
index ace256c..a4b30ea 100644
--- a/Monitor_Window.cpp
+++ b/Monitor_Window.cpp
@@ -36,6 +36,7 @@ Monitor_Window::Monitor_Window( QWidget *parent )
void Monitor_Window::Add_QEMU_Out( const QString &new_text )
{
+ ui.Edit_Monitor_Out->moveCursor( QTextCursor::End );
ui.Edit_Monitor_Out->insertPlainText( new_text );
}
--
1.7.8.3

View file

@ -0,0 +1,715 @@
From 26b007bba627525b68891d50b1d98015465ca4c4 Mon Sep 17 00:00:00 2001
From: Andrey Rijov <rdron@users.sourceforge.net>
Date: Tue, 31 Jan 2012 23:42:46 +0400
Subject: [PATCH 7/7] Initial QEMU 1.0 support
---
diff --git a/About_Window.ui b/About_Window.ui
index 69718cc..352a9b9 100644
--- a/About_Window.ui
+++ b/About_Window.ui
@@ -7,8 +7,8 @@
<rect>
<x>0</x>
<y>0</y>
- <width>477</width>
- <height>539</height>
+ <width>475</width>
+ <height>537</height>
</rect>
</property>
<property name="windowTitle">
@@ -117,7 +117,7 @@ border-top-right-radius: 18px;
<string/>
</property>
<property name="pixmap">
- <pixmap resource="shared_images.qrc">:/images/aqemu_logo.png</pixmap>
+ <pixmap>:/images/aqemu_logo.png</pixmap>
</property>
<property name="alignment">
<set>Qt::AlignCenter</set>
@@ -141,12 +141,12 @@ p, a { white-space: pre-wrap; margin-top:0px; margin-bottom:0px; margin-left:0px
&lt;body&gt;
&lt;b&gt;
&lt;p&gt;AQEMU is Frontend for QEMU and KVM Emulators&lt;/p&gt;
-&lt;p&gt;Version: 0.8.2 of 2011.07.27&lt;/p&gt;
+&lt;p&gt;Version: 0.8.3 of 2012.01.31&lt;/p&gt;
&lt;p&gt;License: GNU GPL Version 2&lt;/p&gt;
&lt;p&gt;Author: Andrey Rijov (a.k.a. RDron)&lt;/p&gt;
&lt;p&gt;E-Mail: &lt;a href=&quot;mailto:ANDron142@yandex.ru&quot;&gt;ANDron142@yandex.ru&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Web Site: &lt;a href=&quot;http://sourceforge.net/projects/aqemu/&quot;&gt;http://sourceforge.net/projects/aqemu/&lt;/a&gt;&lt;/p&gt;
-&lt;p&gt;Supported Emulators:&lt;br&gt;QEMU 0.9.0-0.14.1 and KVM 60-88-0.14.1&lt;/p&gt;
+&lt;p&gt;Supported Emulators:&lt;br&gt;QEMU 0.9.0-0.15-1.0 and KVM 60-88-0.15-1.0&lt;/p&gt;
&lt;/b&gt;
&lt;/body&gt;
&lt;/html&gt;</string>
@@ -184,23 +184,24 @@ p, a { white-space: pre-wrap; margin-top:0px; margin-bottom:0px; margin-left:0px
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Bitstream Vera Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;table border=&quot;0&quot; style=&quot;-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;&quot;&gt;
&lt;tr&gt;
&lt;td style=&quot;border: none;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string>
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
</widget>
</item>
@@ -226,7 +227,7 @@ p, li { white-space: pre-wrap; }
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Bitstream Vera Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;table border=&quot;0&quot; style=&quot;-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;&quot;&gt;
&lt;tr&gt;
&lt;td style=&quot;border: none;&quot;&gt;
@@ -433,32 +434,33 @@ p, li { white-space: pre-wrap; }
<string>&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.0//EN&quot; &quot;http://www.w3.org/TR/REC-html40/strict.dtd&quot;&gt;
&lt;html&gt;&lt;head&gt;&lt;meta name=&quot;qrichtext&quot; content=&quot;1&quot; /&gt;&lt;style type=&quot;text/css&quot;&gt;
p, li { white-space: pre-wrap; }
-&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
+&lt;/style&gt;&lt;/head&gt;&lt;body style=&quot; font-family:'Bitstream Vera Sans'; font-size:10pt; font-weight:400; font-style:normal;&quot;&gt;
&lt;table border=&quot;0&quot; style=&quot;-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;&quot;&gt;
&lt;tr&gt;
&lt;td style=&quot;border: none;&quot;&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'MS Shell Dlg 2'; font-size:8pt;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
-&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
+&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'DejaVu Sans';&quot;&gt;&lt;/p&gt;
&lt;p style=&quot;-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px; font-family:'Nimbus Sans L';&quot;&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/body&gt;&lt;/html&gt;</string>
</property>
<property name="openExternalLinks">
@@ -568,9 +570,7 @@ p, li { white-space: pre-wrap; }
<tabstop>Edit_Thanks_To_Text</tabstop>
<tabstop>Edit_GPL</tabstop>
</tabstops>
- <resources>
- <include location="shared_images.qrc"/>
- </resources>
+ <resources/>
<connections>
<connection>
<sender>Button_OK</sender>
diff --git a/Emulator_Options_Window.cpp b/Emulator_Options_Window.cpp
index 423167f..127c8bc 100644
--- a/Emulator_Options_Window.cpp
+++ b/Emulator_Options_Window.cpp
@@ -240,6 +240,14 @@ void Emulator_Options_Window::Set_Emulator( const Emulator &emul )
ui.CB_Version->setCurrentIndex( 6 );
break;
+ case VM::QEMU_0_15:
+ ui.CB_Version->setCurrentIndex( 7 );
+ break;
+
+ case VM::QEMU_1_0:
+ ui.CB_Version->setCurrentIndex( 8 );
+ break;
+
case VM::KVM_7X:
ui.CB_Version->setCurrentIndex( 0 );
break;
@@ -264,6 +272,14 @@ void Emulator_Options_Window::Set_Emulator( const Emulator &emul )
ui.CB_Version->setCurrentIndex( 5 );
break;
+ case VM::KVM_0_15:
+ ui.CB_Version->setCurrentIndex( 6 );
+ break;
+
+ case VM::KVM_1_0:
+ ui.CB_Version->setCurrentIndex( 7 );
+ break;
+
default:
AQWarning( "void Emulator_Options_Window::Set_Emulator( Emulator emul )",
"Version NOT Valid! Use Default" );
diff --git a/First_Start_Wizard.cpp b/First_Start_Wizard.cpp
index c427e5a..678054b 100644
--- a/First_Start_Wizard.cpp
+++ b/First_Start_Wizard.cpp
@@ -469,7 +469,10 @@ void First_Start_Wizard::on_Button_Find_Emulators_clicked()
for( int ix = 0; ix < qemuEmulatorsList.count(); ++ix )
{
if( qemuEmulatorsList[ix].Get_Version() > maxVer )
+ {
+ maxVer = qemuEmulatorsList[ix].Get_Version();
maxVerIndex = ix;
+ }
}
qemuEmulatorsList[ maxVerIndex ].Set_Default( true );
@@ -492,7 +495,10 @@ void First_Start_Wizard::on_Button_Find_Emulators_clicked()
for( int ix = 0; ix < kvmEmulatorsList.count(); ++ix )
{
if( kvmEmulatorsList[ix].Get_Version() > maxVer )
+ {
+ maxVer = kvmEmulatorsList[ix].Get_Version();
maxVerIndex = ix;
+ }
}
kvmEmulatorsList[ maxVerIndex ].Set_Default( true );
diff --git a/Main_Window.cpp b/Main_Window.cpp
index 5a8ed7e..a8a22f4 100644
--- a/Main_Window.cpp
+++ b/Main_Window.cpp
@@ -57,6 +57,8 @@ QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_11;
QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_12;
QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_13;
QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_14;
+QMap<QString, Available_Devices> System_Info::Emulator_QEMU_0_15;
+QMap<QString, Available_Devices> System_Info::Emulator_QEMU_1_0;
QMap<QString, Available_Devices> System_Info::Emulator_KVM_7X;
QMap<QString, Available_Devices> System_Info::Emulator_KVM_8X;
@@ -64,6 +66,8 @@ QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_11;
QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_12;
QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_13;
QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_14;
+QMap<QString, Available_Devices> System_Info::Emulator_KVM_0_15;
+QMap<QString, Available_Devices> System_Info::Emulator_KVM_1_0;
QList<VM_USB> System_Info::All_Host_USB;
QList<VM_USB> System_Info::Used_Host_USB;
diff --git a/System_Info.cpp b/System_Info.cpp
index d6d44dd..176257e 100644
--- a/System_Info.cpp
+++ b/System_Info.cpp
@@ -1208,6 +1208,8 @@ bool System_Info::Update_VM_Computers_List()
System_Info::Emulator_QEMU_0_12 = System_Info::Emulator_QEMU_0_11;
System_Info::Emulator_QEMU_0_13 = System_Info::Emulator_QEMU_0_11;
System_Info::Emulator_QEMU_0_14 = System_Info::Emulator_QEMU_0_11;
+ System_Info::Emulator_QEMU_0_15 = System_Info::Emulator_QEMU_0_11;
+ System_Info::Emulator_QEMU_1_0 = System_Info::Emulator_QEMU_0_11;
// KVM 7X
ad = Available_Devices();
@@ -1354,6 +1356,8 @@ bool System_Info::Update_VM_Computers_List()
System_Info::Emulator_KVM_0_13 = System_Info::Emulator_KVM_0_12;
System_Info::Emulator_KVM_0_14 = System_Info::Emulator_KVM_0_12;
+ System_Info::Emulator_KVM_0_15 = System_Info::Emulator_KVM_0_12;
+ System_Info::Emulator_KVM_1_0 = System_Info::Emulator_KVM_0_12;
return true;
}
@@ -1402,52 +1406,89 @@ VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )
// This QEMU or KVM?
bool emulatorKVM = false;
- if( path.indexOf("kvm", 0, Qt::CaseInsensitive) != -1 ) emulatorKVM = true;
+ if( path.contains("kvm", Qt::CaseInsensitive) ) emulatorKVM = true;
+ //if( path.contains("qemu", Qt::CaseInsensitive) ) emulatorKVM = false;
if( emulatorKVM )
{
QRegExp kvmVer = QRegExp( ".*version\\s+([\\d]+)[.]([\\d]+)[.]([\\d]+).*" );
QRegExp kvmVerOldStyle = QRegExp( ".*version.*([\\d]{2,3}).*" );
+ QRegExp kvmVerNewStyle = QRegExp( ".*version\\s+([\\d]+)[.]([\\d]+).*" );
QStringList versionLines;
- // KVM version is: X.XX.X or XX ?
+ // KVM version is: X.XX.X or XX or X.X?
if( ! kvmVer.exactMatch(line) )
{
- if( ! kvmVerOldStyle.exactMatch(line) )
+ if( ! kvmVerNewStyle.exactMatch(line) )
{
- AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
- "Cannot Match RegExp!\nData: " + line );
- AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
- "Cannot Find KVM Version!" );
- return VM::Obsolete;
+ if( ! kvmVerOldStyle.exactMatch(line) )
+ {
+ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
+ "Cannot Match RegExp!\nData: " + line );
+ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
+ "Cannot Find KVM Version!" );
+ return VM::Obsolete;
+ }
+ else // Version like: 85
+ {
+ versionLines = kvmVerOldStyle.capturedTexts();
+ if( versionLines.count() < 2 )
+ {
+ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
+ "Cannot get KVM version! Line: " + line );
+ return VM::Obsolete;
+ }
+
+ bool ok = false;
+ int kvmVersion = versionLines[1].toInt( &ok, 10 );
+
+ if( ! ok )
+ {
+ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
+ "Cannot convert KVM version to int! String: " + versionLines[1] );
+ return VM::Obsolete;
+ }
+
+ if( kvmVersion < 70 ) return VM::Obsolete;
+ else if( kvmVersion >= 70 && kvmVersion < 80 ) return VM::KVM_7X;
+ else if( kvmVersion >= 80 ) return VM::KVM_8X;
+ else
+ {
+ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
+ QString("KVM version \"%1\"not defined!").arg(kvmVersion) );
+ return VM::Obsolete;
+ }
+ }
}
- else // Version like: 85
+ else // Version like: 1.0
{
- versionLines = kvmVerOldStyle.capturedTexts();
- if( versionLines.count() < 2 )
+ versionLines = kvmVerNewStyle.capturedTexts();
+ if( versionLines.count() < 3 )
{
AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
"Cannot get KVM version! Line: " + line );
return VM::Obsolete;
}
- bool ok = false;
- int kvmVersion = versionLines[1].toInt( &ok, 10 );
+ int major_ver, minor_ver;
+ bool ok1, ok2;
+
+ major_ver = versionLines[1].toInt( &ok1, 10 );
+ minor_ver = versionLines[2].toInt( &ok2, 10 );
- if( ! ok )
+ if( ! (ok1 && ok2) )
{
AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
- "Cannot convert KVM version to int! String: " + versionLines[1] );
+ "Cannot Convert to Int! Line: " + versionLines[0] );
return VM::Obsolete;
}
- if( kvmVersion < 70 ) return VM::Obsolete;
- else if( kvmVersion >= 70 && kvmVersion < 80 ) return VM::KVM_7X;
- else if( kvmVersion >= 80 ) return VM::KVM_8X;
+ if( major_ver == 1 && minor_ver == 0 ) return VM::KVM_1_0;
+ else if( major_ver > 1 || (major_ver == 1 && minor_ver > 0) ) return VM::KVM_1_0;
else
{
AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
- QString("KVM version \"%1\"not defined!").arg(kvmVersion) );
+ QString("KVM Version %1.%2 not defined!").arg(major_ver).arg(minor_ver) );
return VM::Obsolete;
}
}
@@ -1485,7 +1526,7 @@ VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )
else
{
AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
- QString("Version %1.%2.%3 not defined!").arg(major_ver).arg(minor_ver).arg(bugfix_ver) );
+ QString("QEMU Version %1.%2.%3 not defined!").arg(major_ver).arg(minor_ver).arg(bugfix_ver) );
return VM::Obsolete;
}
}
@@ -1493,13 +1534,51 @@ VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )
else // QEMU
{
QRegExp emulVerRegExp = QRegExp( ".*version\\s+([\\d]+)[.]([\\d]+)[.]([\\d]+).*" );
+ QRegExp emulVerRegExpNew = QRegExp( ".*version\\s+([\\d]+)[.]([\\d]+).*" );
+
if( ! emulVerRegExp.exactMatch(line) )
{
- AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
- "Cannot match emulVerRegExp! Line: " + line );
- return VM::Obsolete;
+ if( ! emulVerRegExpNew.exactMatch(line) )
+ {
+ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
+ "Cannot match emulVerRegExp! Line: " + line );
+ return VM::Obsolete;
+ }
+ else // Version like: 1.0
+ {
+ QStringList versionLines = emulVerRegExpNew.capturedTexts();
+ if( versionLines.count() < 3 )
+ {
+ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
+ "Cannot get major_ver, minor_ver vairables!" );
+ return VM::Obsolete;
+ }
+
+ int major_ver, minor_ver;
+ bool ok1, ok2;
+
+ major_ver = versionLines[1].toInt( &ok1, 10 );
+ minor_ver = versionLines[2].toInt( &ok2, 10 );
+
+ if( ! (ok1 && ok2) )
+ {
+ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
+ "Cannot Convert to Int! Line: " + versionLines[0] );
+ return VM::Obsolete;
+ }
+
+ if( major_ver == 1 && minor_ver == 0 ) return VM::QEMU_1_0;
+ else if( major_ver > 1 || (major_ver == 1 && minor_ver > 0) ) return VM::QEMU_1_0;
+ else
+ {
+ AQError( "VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )",
+ QString("QEMU Version %1.%2 not defined!").arg(major_ver).arg(minor_ver) );
+ return VM::Obsolete;
+ }
+ }
}
+ // Version like: 0.12.0
QStringList versionLines = emulVerRegExp.capturedTexts();
if( versionLines.count() < 4 )
{
@@ -1522,7 +1601,7 @@ VM::Emulator_Version System_Info::Get_Emulator_Version( const QString &path )
return VM::Obsolete;
}
- if( major_ver == 0 && minor_ver < 9 ) return VM::Obsolete;
+ if( major_ver == 0 && minor_ver < 9 ) return VM::Obsolete;
else if( major_ver == 0 && minor_ver == 9 && bugfix_ver == 0 ) return VM::QEMU_0_9_0;
else if( major_ver == 0 && minor_ver == 9 && bugfix_ver == 1 ) return VM::QEMU_0_9_1;
else if( major_ver == 0 && minor_ver == 10 ) return VM::QEMU_0_10;
@@ -1588,6 +1667,16 @@ QMap<QString, QString> System_Info::Find_QEMU_Binary_Files( const QString &path
++iter;
}
+ // Next code for QEMU 1.0 in it version 'qemu' binary name changet to 'qemu-system-i386'
+ if( emulFiles["qemu"].isEmpty() )
+ {
+ #ifdef Q_OS_WIN32
+ if( QFile::exists(dirPath + "qemu-system-i386.exe") ) emulFiles[ "qemu" ] = dirPath + "qemu-system-i386.exe";
+ #else
+ if( QFile::exists(dirPath + "qemu-system-i386") ) emulFiles[ "qemu" ] = dirPath + "qemu-system-i386";
+ #endif
+ }
+
return emulFiles;
}
@@ -2088,6 +2177,14 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,
default_device = Emulator_QEMU_0_14[ internalName ];
break;
+ case VM::QEMU_0_15:
+ default_device = Emulator_QEMU_0_15[ internalName ];
+ break;
+
+ case VM::QEMU_1_0:
+ default_device = Emulator_QEMU_1_0[ internalName ];
+ break;
+
case VM::KVM_7X:
default_device = Emulator_KVM_7X[ internalName ];
break;
@@ -2112,6 +2209,14 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,
default_device = Emulator_KVM_0_14[ internalName ];
break;
+ case VM::KVM_0_15:
+ default_device = Emulator_KVM_0_15[ internalName ];
+ break;
+
+ case VM::KVM_1_0:
+ default_device = Emulator_KVM_1_0[ internalName ];
+ break;
+
default:
AQError( "Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,"
"VM::Emulator_Version version, const QString &internalName )",
@@ -2210,7 +2315,7 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,
tmp_dev.CPU_List = default_device.CPU_List; // FIXME Emul Version
AQWarning( "Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,"
"VM::Emulator_Version version, const QString &internalName )",
- "Cannot get CPU's info from emulator. Use default list" );
+ QString("Cannot get CPU's info from emulator \"%1\". Use default list").arg(path) );
}
// Get Machines Models
@@ -2271,7 +2376,7 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,
tmp_dev.Machine_List = default_device.Machine_List; // FIXME Emul Version
AQWarning( "Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,"
"VM::Emulator_Version version, const QString &internalName )",
- "Cannot get machines info from emulator. Use default list" );
+ QString("Cannot get machines info from emulator \"%1\". Use default list").arg(path) );
}
// -vga
@@ -2340,6 +2445,9 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,
tmp = text_stream->readLine();
QString qemu_dev_name = "";
+ // This target platform support soundhw?
+ if( tmp.contains("not supported") ) break;
+
// This description?
if( tmp.isEmpty() ||
tmp.startsWith("Valid sound card names") ||
@@ -2367,6 +2475,8 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,
else if( qemu_dev_name == "adlib" ) tmp_dev.Audio_Card_List.Audio_PC_Speaker = true;
else if( qemu_dev_name == "pcspk" ) tmp_dev.Audio_Card_List.Audio_GUS = true;
else if( qemu_dev_name == "ac97" ) tmp_dev.Audio_Card_List.Audio_AC97 = true;
+ else if( qemu_dev_name == "hda" ) ; // FIXME
+ else if( qemu_dev_name == "cs4231a" ) ; // FIXME
else
{
if( ! qemu_dev_name.isEmpty() )
@@ -2438,7 +2548,7 @@ Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,
tmp_dev.Network_Card_List = default_device.Network_Card_List; // FIXME Emul Version
AQWarning( "Available_Devices System_Info::Get_Emulator_Info( const QString &path, bool *ok,"
"VM::Emulator_Version version, const QString &internalName )",
- "Cannot get net cards info from emulator. Use default list" );
+ QString("Cannot get net cards info from emulator \"%1\". Use default list").arg(path) );
}
// Return info
diff --git a/System_Info.h b/System_Info.h
index b47e452..522ca4e 100644
--- a/System_Info.h
+++ b/System_Info.h
@@ -62,6 +62,8 @@ class System_Info
static QMap<QString, Available_Devices> Emulator_QEMU_0_12;
static QMap<QString, Available_Devices> Emulator_QEMU_0_13;
static QMap<QString, Available_Devices> Emulator_QEMU_0_14;
+ static QMap<QString, Available_Devices> Emulator_QEMU_0_15;
+ static QMap<QString, Available_Devices> Emulator_QEMU_1_0;
static QMap<QString, Available_Devices> Emulator_KVM_7X;
static QMap<QString, Available_Devices> Emulator_KVM_8X;
@@ -69,6 +71,8 @@ class System_Info
static QMap<QString, Available_Devices> Emulator_KVM_0_12;
static QMap<QString, Available_Devices> Emulator_KVM_0_13;
static QMap<QString, Available_Devices> Emulator_KVM_0_14;
+ static QMap<QString, Available_Devices> Emulator_KVM_0_15;
+ static QMap<QString, Available_Devices> Emulator_KVM_1_0;
private:
#ifdef Q_OS_LINUX
diff --git a/Utils.cpp b/Utils.cpp
index 36ec8d4..9678462 100644
--- a/Utils.cpp
+++ b/Utils.cpp
@@ -513,12 +513,16 @@ VM::Emulator_Version String_To_Emulator_Version( const QString &str )
else if( str == "QEMU 0.12.X" ) return VM::QEMU_0_12;
else if( str == "QEMU 0.13.X" ) return VM::QEMU_0_13;
else if( str == "QEMU 0.14.X" ) return VM::QEMU_0_14;
+ else if( str == "QEMU 0.15.X" ) return VM::QEMU_0_15;
+ else if( str == "QEMU 1.0" ) return VM::QEMU_1_0;
else if( str == "KVM 7X" ) return VM::KVM_7X;
else if( str == "KVM 8X" ) return VM::KVM_8X;
else if( str == "KVM 0.11.X" ) return VM::KVM_0_11;
else if( str == "KVM 0.12.X" ) return VM::KVM_0_12;
else if( str == "KVM 0.13.X" ) return VM::KVM_0_13;
else if( str == "KVM 0.14.X" ) return VM::KVM_0_14;
+ else if( str == "KVM 0.15.X" ) return VM::KVM_0_15;
+ else if( str == "KVM 1.0" ) return VM::KVM_1_0;
else if( str == "Obsolete" ) return VM::Obsolete;
else
{
@@ -553,6 +557,12 @@ QString Emulator_Version_To_String( VM::Emulator_Version ver )
case VM::QEMU_0_14:
return "QEMU 0.14.X";
+ case VM::QEMU_0_15:
+ return "QEMU 0.15.X";
+
+ case VM::QEMU_1_0:
+ return "QEMU 1.0";
+
case VM::KVM_7X:
return "KVM 7X";
@@ -571,6 +581,12 @@ QString Emulator_Version_To_String( VM::Emulator_Version ver )
case VM::KVM_0_14:
return "KVM 0.14.X";
+ case VM::KVM_0_15:
+ return "KVM 0.15.X";
+
+ case VM::KVM_1_0:
+ return "KVM 1.0";
+
case VM::Obsolete:
return "Obsolete";
diff --git a/VM.cpp b/VM.cpp
index e45fcbb..7a0626e 100644
--- a/VM.cpp
+++ b/VM.cpp
@@ -7277,29 +7277,45 @@ void Virtual_Machine::Update_Current_Emulator_Devices()
case VM::QEMU_0_14:
Current_Emulator_Devices = System_Info::Emulator_QEMU_0_14[ Computer_Type ];
break;
+
+ case VM::QEMU_0_15:
+ Current_Emulator_Devices = System_Info::Emulator_QEMU_0_15[ Computer_Type ];
+ break;
+
+ case VM::QEMU_1_0:
+ Current_Emulator_Devices = System_Info::Emulator_QEMU_1_0[ Computer_Type ];
+ break;
case VM::KVM_7X:
- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_7X[ Computer_Type ];
+ Current_Emulator_Devices = System_Info::Emulator_KVM_7X[ Computer_Type ];
break;
case VM::KVM_8X:
- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_8X[ Computer_Type ];
+ Current_Emulator_Devices = System_Info::Emulator_KVM_8X[ Computer_Type ];
break;
case VM::KVM_0_11:
- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_0_11[ Computer_Type ];
+ Current_Emulator_Devices = System_Info::Emulator_KVM_0_11[ Computer_Type ];
break;
case VM::KVM_0_12:
- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_0_12[ Computer_Type ];
+ Current_Emulator_Devices = System_Info::Emulator_KVM_0_12[ Computer_Type ];
break;
case VM::KVM_0_13:
- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_0_13[ Computer_Type ];
+ Current_Emulator_Devices = System_Info::Emulator_KVM_0_13[ Computer_Type ];
break;
case VM::KVM_0_14:
- Current_Emulator_Devices = System_Info::System_Info::Emulator_KVM_0_14[ Computer_Type ];
+ Current_Emulator_Devices = System_Info::Emulator_KVM_0_14[ Computer_Type ];
+ break;
+
+ case VM::KVM_0_15:
+ Current_Emulator_Devices = System_Info::Emulator_KVM_0_15[ Computer_Type ];
+ break;
+
+ case VM::KVM_1_0:
+ Current_Emulator_Devices = System_Info::Emulator_KVM_1_0[ Computer_Type ];
break;
default:
diff --git a/VM_Devices.cpp b/VM_Devices.cpp
index 09def34..3ed8f62 100644
--- a/VM_Devices.cpp
+++ b/VM_Devices.cpp
@@ -1530,6 +1530,12 @@ const QMap<QString, Available_Devices> &Emulator::Get_Devices() const
case VM::QEMU_0_14:
return System_Info::Emulator_QEMU_0_14;
+ case VM::QEMU_0_15:
+ return System_Info::Emulator_QEMU_0_15;
+
+ case VM::QEMU_1_0:
+ return System_Info::Emulator_QEMU_1_0;
+
case VM::KVM_7X:
return System_Info::Emulator_KVM_7X;
@@ -1548,6 +1554,12 @@ const QMap<QString, Available_Devices> &Emulator::Get_Devices() const
case VM::KVM_0_14:
return System_Info::Emulator_KVM_0_14;
+ case VM::KVM_0_15:
+ return System_Info::Emulator_KVM_0_15;
+
+ case VM::KVM_1_0:
+ return System_Info::Emulator_KVM_1_0;
+
default:
AQError( "const QMap<QString, Available_Devices> &Emulator::Get_Devices() const",
"Emulator Version Incorrect!" );
diff --git a/VM_Devices.h b/VM_Devices.h
index 2dfa0cd..c381767 100644
--- a/VM_Devices.h
+++ b/VM_Devices.h
@@ -38,8 +38,11 @@ class VM
// Emulators Version
enum Emulator_Version { Obsolete,
- QEMU_0_9_0, QEMU_0_9_1, QEMU_0_10, QEMU_0_11, QEMU_0_12, QEMU_0_13, QEMU_0_14,
- KVM_7X, KVM_8X, KVM_0_11, KVM_0_12, KVM_0_13, KVM_0_14 };
+ QEMU_0_9_0, QEMU_0_9_1, QEMU_0_10, QEMU_0_11, QEMU_0_12, QEMU_0_13, QEMU_0_14, QEMU_0_15,
+ QEMU_1_0,
+ KVM_7X, KVM_8X,
+ KVM_0_11, KVM_0_12, KVM_0_13, KVM_0_14, KVM_0_15,
+ KVM_1_0 };
// Virtual Machine State
enum VM_State { VMS_Running, VMS_Power_Off, VMS_Pause, VMS_Saved, VMS_In_Error };
--
1.7.8.3