From d2e2932320d8598a528a3f8b10c8e3f4571ee0e1 Mon Sep 17 00:00:00 2001 From: Robby Workman Date: Sun, 12 Feb 2012 17:45:18 -0600 Subject: system/aqemu: Add some patches from git (including qemu-1.0 support) Signed-off-by: Leo Midha Signed-off-by: Robby Workman --- system/aqemu/aqemu.SlackBuild | 4 +- system/aqemu/patches/0001-Fixed-bug-3392763.patch | 55 ++ system/aqemu/patches/0002-Fixed-bug-3395228.patch | 25 + system/aqemu/patches/0003-Some-bug-fixes.patch | 97 +++ .../patches/0004-Fix-build-error-on-Qt-4.8.patch | 27 + ...pdated-aqemu.desktop-file-See-bug-3430317.patch | 36 ++ ...06-Fixed-emulator-monitor.-BUG-ID-3432871.patch | 24 + .../patches/0007-Initial-QEMU-1.0-support.patch | 715 +++++++++++++++++++++ 8 files changed, 982 insertions(+), 1 deletion(-) create mode 100644 system/aqemu/patches/0001-Fixed-bug-3392763.patch create mode 100644 system/aqemu/patches/0002-Fixed-bug-3395228.patch create mode 100644 system/aqemu/patches/0003-Some-bug-fixes.patch create mode 100644 system/aqemu/patches/0004-Fix-build-error-on-Qt-4.8.patch create mode 100644 system/aqemu/patches/0005-Updated-aqemu.desktop-file-See-bug-3430317.patch create mode 100644 system/aqemu/patches/0006-Fixed-emulator-monitor.-BUG-ID-3432871.patch create mode 100644 system/aqemu/patches/0007-Initial-QEMU-1.0-support.patch (limited to 'system') diff --git a/system/aqemu/aqemu.SlackBuild b/system/aqemu/aqemu.SlackBuild index 472efb651c..738b9da8ea 100644 --- a/system/aqemu/aqemu.SlackBuild +++ b/system/aqemu/aqemu.SlackBuild @@ -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" \ diff --git a/system/aqemu/patches/0001-Fixed-bug-3392763.patch b/system/aqemu/patches/0001-Fixed-bug-3392763.patch new file mode 100644 index 0000000000..c932c279cd --- /dev/null +++ b/system/aqemu/patches/0001-Fixed-bug-3392763.patch @@ -0,0 +1,55 @@ +From 182975dadb7ac9fc8e851ed638dd6998002ff536 Mon Sep 17 00:00:00 2001 +From: Andrey Rijov +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 + diff --git a/system/aqemu/patches/0002-Fixed-bug-3395228.patch b/system/aqemu/patches/0002-Fixed-bug-3395228.patch new file mode 100644 index 0000000000..f0c30d42ca --- /dev/null +++ b/system/aqemu/patches/0002-Fixed-bug-3395228.patch @@ -0,0 +1,25 @@ +From b9b83bef7abd0b234b9641d523be9012ea1cf718 Mon Sep 17 00:00:00 2001 +From: Andrey Rijov +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 + diff --git a/system/aqemu/patches/0003-Some-bug-fixes.patch b/system/aqemu/patches/0003-Some-bug-fixes.patch new file mode 100644 index 0000000000..fdb5150238 --- /dev/null +++ b/system/aqemu/patches/0003-Some-bug-fixes.patch @@ -0,0 +1,97 @@ +From 84314637afc540bd07aa25a64168246f505ecb38 Mon Sep 17 00:00:00 2001 +From: Andrey Rijov +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 @@ + 1.000000000000000 + + +- 1024.000000000000000 ++ 9999.000000000000000 + + + 1.000000000000000 +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 + diff --git a/system/aqemu/patches/0004-Fix-build-error-on-Qt-4.8.patch b/system/aqemu/patches/0004-Fix-build-error-on-Qt-4.8.patch new file mode 100644 index 0000000000..32e9afb331 --- /dev/null +++ b/system/aqemu/patches/0004-Fix-build-error-on-Qt-4.8.patch @@ -0,0 +1,27 @@ +From 9b21d88a4f4a681f9e80c11e83e81c976e0fc91e Mon Sep 17 00:00:00 2001 +From: Andrey Rijov +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 + #include + #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 +-- +1.7.8.3 + diff --git a/system/aqemu/patches/0005-Updated-aqemu.desktop-file-See-bug-3430317.patch b/system/aqemu/patches/0005-Updated-aqemu.desktop-file-See-bug-3430317.patch new file mode 100644 index 0000000000..b9dc5301d8 --- /dev/null +++ b/system/aqemu/patches/0005-Updated-aqemu.desktop-file-See-bug-3430317.patch @@ -0,0 +1,36 @@ +From 2a0f32e8cb46c8a1c0a33ed151737e5abb5679ed Mon Sep 17 00:00:00 2001 +From: Andrey Rijov +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 + diff --git a/system/aqemu/patches/0006-Fixed-emulator-monitor.-BUG-ID-3432871.patch b/system/aqemu/patches/0006-Fixed-emulator-monitor.-BUG-ID-3432871.patch new file mode 100644 index 0000000000..bcfafb0a9e --- /dev/null +++ b/system/aqemu/patches/0006-Fixed-emulator-monitor.-BUG-ID-3432871.patch @@ -0,0 +1,24 @@ +From 9446cc47b96cbbe52976e8893fc50ad730fbaa9e Mon Sep 17 00:00:00 2001 +From: Andrey Rijov +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 + diff --git a/system/aqemu/patches/0007-Initial-QEMU-1.0-support.patch b/system/aqemu/patches/0007-Initial-QEMU-1.0-support.patch new file mode 100644 index 0000000000..6ec862f201 --- /dev/null +++ b/system/aqemu/patches/0007-Initial-QEMU-1.0-support.patch @@ -0,0 +1,715 @@ +From 26b007bba627525b68891d50b1d98015465ca4c4 Mon Sep 17 00:00:00 2001 +From: Andrey Rijov +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 @@ + + 0 + 0 +- 477 +- 539 ++ 475 ++ 537 + + + +@@ -117,7 +117,7 @@ border-top-right-radius: 18px; + + + +- :/images/aqemu_logo.png ++ :/images/aqemu_logo.png + + + Qt::AlignCenter +@@ -141,12 +141,12 @@ p, a { white-space: pre-wrap; margin-top:0px; margin-bottom:0px; margin-left:0px + <body> + <b> + <p>AQEMU is Frontend for QEMU and KVM Emulators</p> +-<p>Version: 0.8.2 of 2011.07.27</p> ++<p>Version: 0.8.3 of 2012.01.31</p> + <p>License: GNU GPL Version 2</p> + <p>Author: Andrey Rijov (a.k.a. RDron)</p> + <p>E-Mail: <a href="mailto:ANDron142@yandex.ru">ANDron142@yandex.ru</a></p> + <p>Web Site: <a href="http://sourceforge.net/projects/aqemu/">http://sourceforge.net/projects/aqemu/</a></p> +-<p>Supported Emulators:<br>QEMU 0.9.0-0.14.1 and KVM 60-88-0.14.1</p> ++<p>Supported Emulators:<br>QEMU 0.9.0-0.15-1.0 and KVM 60-88-0.15-1.0</p> + </b> + </body> + </html> +@@ -184,23 +184,24 @@ p, a { white-space: pre-wrap; margin-top:0px; margin-bottom:0px; margin-left:0px + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + p, li { white-space: pre-wrap; } +-</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> ++</style></head><body style=" font-family:'Bitstream Vera Sans'; font-size:10pt; font-weight:400; font-style:normal;"> + <table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;"> + <tr> + <td style="border: none;"> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> + <p style="-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;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p></td></tr></table></body></html> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p></td></tr></table></body></html> + + + +@@ -226,7 +227,7 @@ p, li { white-space: pre-wrap; } + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + p, li { white-space: pre-wrap; } +-</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> ++</style></head><body style=" font-family:'Bitstream Vera Sans'; font-size:10pt; font-weight:400; font-style:normal;"> + <table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;"> + <tr> + <td style="border: none;"> +@@ -433,32 +434,33 @@ p, li { white-space: pre-wrap; } + <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd"> + <html><head><meta name="qrichtext" content="1" /><style type="text/css"> + p, li { white-space: pre-wrap; } +-</style></head><body style=" font-family:'DejaVu Sans'; font-size:10pt; font-weight:400; font-style:normal;"> ++</style></head><body style=" font-family:'Bitstream Vera Sans'; font-size:10pt; font-weight:400; font-style:normal;"> + <table border="0" style="-qt-table-type: root; margin-top:4px; margin-bottom:4px; margin-left:4px; margin-right:4px;"> + <tr> + <td style="border: none;"> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> + <p style="-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;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> +-<p style="-qt-paragraph-type:empty; margin-top:0px; margin-bottom:0px; margin-left:0px; margin-right:0px; -qt-block-indent:0; text-indent:0px;"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> ++<p style="-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';"></p> + <p style="-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';"></p></td></tr></table></body></html> + + +@@ -568,9 +570,7 @@ p, li { white-space: pre-wrap; } + Edit_Thanks_To_Text + Edit_GPL + +- +- +- ++ + + + Button_OK +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 System_Info::Emulator_QEMU_0_11; + QMap System_Info::Emulator_QEMU_0_12; + QMap System_Info::Emulator_QEMU_0_13; + QMap System_Info::Emulator_QEMU_0_14; ++QMap System_Info::Emulator_QEMU_0_15; ++QMap System_Info::Emulator_QEMU_1_0; + + QMap System_Info::Emulator_KVM_7X; + QMap System_Info::Emulator_KVM_8X; +@@ -64,6 +66,8 @@ QMap System_Info::Emulator_KVM_0_11; + QMap System_Info::Emulator_KVM_0_12; + QMap System_Info::Emulator_KVM_0_13; + QMap System_Info::Emulator_KVM_0_14; ++QMap System_Info::Emulator_KVM_0_15; ++QMap System_Info::Emulator_KVM_1_0; + + QList System_Info::All_Host_USB; + QList 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 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 Emulator_QEMU_0_12; + static QMap Emulator_QEMU_0_13; + static QMap Emulator_QEMU_0_14; ++ static QMap Emulator_QEMU_0_15; ++ static QMap Emulator_QEMU_1_0; + + static QMap Emulator_KVM_7X; + static QMap Emulator_KVM_8X; +@@ -69,6 +71,8 @@ class System_Info + static QMap Emulator_KVM_0_12; + static QMap Emulator_KVM_0_13; + static QMap Emulator_KVM_0_14; ++ static QMap Emulator_KVM_0_15; ++ static QMap 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 &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 &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 &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 + -- cgit v1.2.3