~feng-kylin/youker-assistant/youker-assistant

« back to all changes in this revision

Viewing changes to info/monitorwidget.cpp

  • Committer: kobe
  • Date: 2015-02-13 07:37:10 UTC
  • Revision ID: xiangli@ubuntukylin.com-20150213073710-0jyp02ilyi5njj10
Qt Version

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
#include "monitorwidget.h"
 
2
 
 
3
MonitorWidget::MonitorWidget(QWidget *parent, SystemDispatcher *proxy) :
 
4
    QWidget(parent),
 
5
    systemproxy(proxy)
 
6
{
 
7
    setFixedSize(750, 403);
 
8
    scroll_widget = new ScrollWidget(this);
 
9
    scroll_widget->setGeometry(0, 0, 750, 403);
 
10
 
 
11
    vgaNum = this->initData();
 
12
 
 
13
    if(vgaNum == 1)
 
14
    {
 
15
        ComputerPage *page = new ComputerPage(scroll_widget->zone, "Monitor Info");
 
16
        monitor_info_map.remove("Vga_num");
 
17
        page->setMap(monitor_info_map, monitor_info_map.value("Vga_vendor").toString().toUpper());
 
18
        page->initUI();
 
19
        scroll_widget->addScrollWidget(page);
 
20
    }
 
21
    else if(vgaNum > 1)
 
22
    {
 
23
        for(int i=0;i<vgaNum;i++)
 
24
        {
 
25
            ComputerPage *page = new ComputerPage(scroll_widget->zone, tr("Monitor Info %1").arg(i+1));
 
26
            tmp_info_map.clear();
 
27
            QMap<QString, QVariant>::iterator itbegin = monitor_info_map.begin();
 
28
            QMap<QString, QVariant>::iterator  itend = monitor_info_map.end();
 
29
            for (;itbegin != itend; ++itbegin)
 
30
            {
 
31
                if(itbegin.key() != "Vga_num")
 
32
                    tmp_info_map.insert(itbegin.key(), itbegin.value().toString().split("<1_1>").at(i));
 
33
            }
 
34
            page->setMap(tmp_info_map, tmp_info_map.value("Vga_vendor").toString().toUpper());
 
35
            page->initUI();
 
36
            scroll_widget->addScrollWidget(page);
 
37
        }
 
38
    }
 
39
}
 
40
 
 
41
int MonitorWidget::initData()
 
42
{
 
43
    monitor_info_map.clear();
 
44
    monitor_info_map = systemproxy->get_monitor_info_qt();
 
45
    QMap<QString, QVariant>::iterator iter = monitor_info_map.find("Vga_num");
 
46
    if (iter == monitor_info_map.end())
 
47
    {
 
48
        return 0;
 
49
    }
 
50
    else{
 
51
        return iter.value().toInt();
 
52
    }
 
53
}