Пример #1
0
SystemWindow::SystemWindow() : QDialog(), ui(new Ui::SystemWindow){
  ui->setupUi(this); //load the designer file
  //Setup the window flags
  this->setWindowFlags( Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
  //Setup the icons based on the current theme
  ui->tool_logout->setIcon( LXDG::findIcon("system-log-out","") );
  ui->tool_restart->setIcon( LXDG::findIcon("system-reboot","") );
  ui->tool_shutdown->setIcon( LXDG::findIcon("system-shutdown","") );
  ui->push_cancel->setIcon( LXDG::findIcon("dialog-cancel","") );
  ui->push_lock->setIcon( LXDG::findIcon("system-lock-screen","") );
  //Connect the signals/slots
  connect(ui->tool_logout, SIGNAL(clicked()), this, SLOT(sysLogout()) );
  connect(ui->tool_restart, SIGNAL(clicked()), this, SLOT(sysRestart()) );
  connect(ui->tool_shutdown, SIGNAL(clicked()), this, SLOT(sysShutdown()) );
  connect(ui->push_cancel, SIGNAL(clicked()), this, SLOT(sysCancel()) );
  connect(ui->push_lock, SIGNAL(clicked()), this, SLOT(sysLock()) );
  //Disable the shutdown/restart buttons if necessary
  if( !LOS::userHasShutdownAccess() ){
    ui->tool_restart->setEnabled(false);
    ui->tool_shutdown->setEnabled(false);
  }
  //Center this window on the screen
  QDesktopWidget desktop;
  this->move(desktop.screenGeometry().width()/2 - this->width()/2, desktop.screenGeometry().height()/2 - this->height()/2);
  this->show();
}
Пример #2
0
void PCDMgui::fillScreens(){
    //Set a background image on any other available screens
    QDesktopWidget *DE = QApplication::desktop();
    screens.clear();
    //Generate the background style sheet
    //QString tmpIcon = currentTheme->itemIcon("background");
    //if( tmpIcon.isEmpty() || !QFile::exists(tmpIcon) ){ tmpIcon = ":/images/backgroundimage.jpg"; }
    //QString bgstyle = "QWidget#BGSCREEN{border-image: url(BGIMAGE) stretch;}"; 
      //bgstyle.replace("BGIMAGE", tmpIcon);
    //this->setStyleSheet(bgstyle);
    //Now apply the background to all the other screens   
    // - Keep track of the total width/height of all screens combined (need to set the QMainWindow to this size)
    int wid, high;
    wid = high = 0;
    for(int i=0; i<DE->screenCount(); i++){
      //if(i != DE->screenNumber(this)){
        //Just show a generic QWidget with the proper background image on every screen
	QWidget *screen = new QWidget(this->centralWidget());
	screen->setObjectName("BGSCREEN");
	QRect rec = DE->screenGeometry(i);
	screen->setGeometry( rec );
	if(rec.height() > high){ high = rec.height(); }
	wid += rec.width();
	//screen->setStyleSheet(bgstyle);
	screen->show();
	screens << screen;
      /*}else{
        //Now move the mouse cursor over this window (fix for multi-monitor setups)
        QCursor::setPos( DE->screenGeometry(i).center() );	      
      }*/
    }
    this->setGeometry(0,0,wid,high);
    this->activateWindow();
    QCursor::setPos( DE->screenGeometry(0).center() );	  
}
Пример #3
0
/*************ClientP: Delete Acc******************/
void MainWindow::on_btnDC_clicked()
{
    QMessageBox message(QMessageBox::Warning,"Are you sure?","Once it did, it can not be undo!",QMessageBox::Yes|QMessageBox::No,NULL);
    if (message.exec()==QMessageBox::Yes)
    {
       showme("yes!");
       Msg msg=sendAndGet(userName_,userPassword_,"dc","","","","","","");
       bool flag=msg.opResult;
       if(!flag){
           showme("Error in delete User");
       }
       ui->stackedWidget->setCurrentIndex(0);
       ui->widgetWelcome->show();
       ui->widgetLog->hide();
       QDesktopWidget* desktopWidget = QApplication::desktop();
       int winWidth=desktopWidget->screenGeometry().width();
       int winHeight=desktopWidget->screenGeometry().height();
       QRect winRect((winWidth-400)/2,(winHeight-300)/2,400,300);
       this->setGeometry(winRect);
       this->setFixedSize(400,300);
       userName_="";
       userPassword_="";
    }
    else
    {
        showme("no!");
    }
}
Пример #4
0
void RegionGrab::init()
{
  m_pixmap = m_grabber->grabFullScreen();

  QDesktopWidget *desktop = QApplication::desktop();
  QRect rect;

  if (desktop->screenCount() > 1) {
    for (int i = 0; i < desktop->screenCount(); ++i) {
      if (rect.isNull())
        rect = desktop->screenGeometry(i);
      else
        rect = rect.united(desktop->screenGeometry(i));
    }
  }
  else
    rect = QRect(QPoint(0, 0), m_pixmap.size());

  resize(rect.size());
  move(rect.topLeft());
  setCursor(Qt::CrossCursor);

# ifdef Q_OS_MAC
  showFullScreen();
# else
  show();
# endif

  raise();
  activateWindow();
  setFocus();
}
Пример #5
0
QPoint InviwoApplicationQt::movePointOntoDesktop(const QPoint& point, const QSize& size,
                                                 bool decorationOffset) {
    QPoint pos(point);
    if (movePointsOn_) {
        QDesktopWidget* desktop = QApplication::desktop();
        int primaryScreenIndex = desktop->primaryScreen();
        QRect wholeScreen = desktop->screenGeometry(primaryScreenIndex);

        for (int i = 0; i < desktop->screenCount(); i++) {
            if (i != primaryScreenIndex) wholeScreen = wholeScreen.united(desktop->screenGeometry(i));
        }

        wholeScreen.setRect(wholeScreen.x() - 10, wholeScreen.y() - 10, wholeScreen.width() + 20,
            wholeScreen.height() + 20);
        QPoint bottomRight = QPoint(point.x() + size.width(), point.y() + size.height());
        QPoint appPos = getMainWindow()->pos();

#if (QT_VERSION >= QT_VERSION_CHECK(5, 0, 0))
        if (decorationOffset) {
            QPoint offset = getWindowDecorationOffset();
            pos -= offset;
        }
#endif

        if (!wholeScreen.contains(pos) || !wholeScreen.contains(bottomRight)) {
            // If the widget is outside visible screen
            pos = appPos;
            pos += offsetWidget();
        }
    }
    return pos;
}
void DianVoteControl::mouseMoveEvent(QMouseEvent *event)
{
    QDesktopWidget* desktopWidget = QApplication::desktop();
    //获取设备屏幕大小
    int screenWidth = desktopWidget->screenGeometry().width();
    int screenHeight = desktopWidget->screenGeometry().height();

    if (event->buttons() & Qt::LeftButton) {
        QPoint pos = event->globalPos() - dragPosition;
        if((pos.x() <= DEFAULT_DOCK_SPACE))
        {
            pos.setX(0);
        }
        else if((pos.x() + this->width() + DEFAULT_DOCK_SPACE) \
                 >= screenWidth)
        {
            pos.setX(screenWidth - this->width() - 2);
        }

        if((pos.y() <= DEFAULT_DOCK_SPACE))
        {
            pos.setY(0);
        }
        else if((pos.y() + this->height() + DEFAULT_DOCK_SPACE) \
                >= screenHeight)
        {
            pos.setY(screenHeight - this->height() - 2);
        }

        move(pos);
        event->accept();
    }
}
SpriteSceneConverter::SpriteSceneConverter(QWidget *parent)
    : QWidget(parent)
{
    ui.setupUi(this);

    QDesktopWidget desktop;
    int width = desktop.screenGeometry(0).width();
    int height = desktop.screenGeometry(0).height();

    QRect q = this->geometry();
    this->setGeometry(width/2-q.width()/2,height/2-q.height()/2,q.width(),q.height());

    mScene = new QGraphicsScene(this);
    ui.elementoPreview->setScene(mScene);
    mScene->addPixmap(mMap);

    mModelo = new QStandardItemModel();
    ui.elementosTabla->setModel(mModelo);

    ui.elementosTabla->horizontalHeader()->setResizeMode(0, QHeaderView::ResizeToContents);
    ui.elementosTabla->horizontalHeader()->setResizeMode(3, QHeaderView::ResizeToContents);

    PointDelegate* pointDelegate = new PointDelegate();
    TexturasDelegate* texturasDelegate = new TexturasDelegate();

    ui.elementosTabla->setItemDelegateForColumn(1,pointDelegate);
    ui.elementosTabla->setItemDelegateForColumn(2,pointDelegate);
    ui.elementosTabla->setItemDelegateForColumn(3,texturasDelegate);

    connect(
        ui.elementosTabla->selectionModel(),
        SIGNAL(selectionChanged(const QItemSelection &, const QItemSelection &)),
        SLOT(selectionChanged(const QItemSelection &, const QItemSelection &))
    );
}
Пример #8
0
void scene::newGame() {
    gfxitems.clear();
    QDesktopWidget desktop;
    game = new pong(desktop.screenGeometry().width()-30, desktop.screenGeometry().height()-40);
    //game = new pong(desktop.width(), desktop.height());
    std::ifstream level(gametype.toStdString().c_str());
    qDebug()<<"reading file "<<gametype;
    std::string type;
    float x;
    float speed_mult;
    short pos;
    float wrong_ai;
    std::string bonus_name_string;
    while (level.good()) {
        level>>type;
        if (type=="new:bar") {
            level>>x;
            level>>speed_mult;
            level>>pos;
            new bar(game,
                    x,
                    (game->getHeight()-settings->value("bar/height").toFloat())/2,
                    settings->value("bar/width").toFloat(),
                    settings->value("bar/height").toFloat(),
                    speed_mult,
                    element::directions(pos),
                    settings->value("bar/touch_dx_comeback").toFloat(),
                    settings->value("bar/touch_straight").toFloat());
        } else if (type=="new:bar_ai") {
GrabResolutions MediaSourceDesktop::GetSupportedVideoGrabResolutions()
{
    VideoFormatDescriptor tFormat;

    mSupportedVideoFormats.clear();

    tFormat.Name="CIF";        //      352 × 288
    tFormat.ResX = 352;
    tFormat.ResY = 288;
    mSupportedVideoFormats.push_back(tFormat);

    tFormat.Name="VGA";       //      640 * 480
    tFormat.ResX = 640;
    tFormat.ResY = 480;
    mSupportedVideoFormats.push_back(tFormat);

    tFormat.Name="DVD";        //      720 × 576
    tFormat.ResX = 720;
    tFormat.ResY = 576;
    mSupportedVideoFormats.push_back(tFormat);

    tFormat.Name="CIF9";       //     1056 × 864
    tFormat.ResX = 1056;
    tFormat.ResY = 864;
    mSupportedVideoFormats.push_back(tFormat);

    tFormat.Name="SXGA";       //     1280 × 1024
    tFormat.ResX = 1280;
    tFormat.ResY = 1024;
    mSupportedVideoFormats.push_back(tFormat);

    tFormat.Name="WXGA+";      //     1440 × 900
    tFormat.ResX = 1440;
    tFormat.ResY = 900;
    mSupportedVideoFormats.push_back(tFormat);

    tFormat.Name="SXGA+";       //     1440 × 1050
    tFormat.ResX = 1440;
    tFormat.ResY = 1050;
    mSupportedVideoFormats.push_back(tFormat);

    tFormat.Name="WUXGA";       //     1920 * 1200
    tFormat.ResX = 1920;
    tFormat.ResY = 1200;
    mSupportedVideoFormats.push_back(tFormat);

    QDesktopWidget *tDesktop = QApplication::desktop();
    tFormat.Name="Desktop";
    tFormat.ResX = tDesktop->screenGeometry(tDesktop->primaryScreen()).width();
    tFormat.ResY = tDesktop->screenGeometry(tDesktop->primaryScreen()).height();
    mSupportedVideoFormats.push_back(tFormat);

    tFormat.Name="Segment";
    tFormat.ResX = mSourceResX;
    tFormat.ResY = mSourceResY;
    mSupportedVideoFormats.push_back(tFormat);

    return mSupportedVideoFormats;
}
Пример #10
0
int ConfigPanelWidget::getMaxLength()
{
    QDesktopWidget* dw = QApplication::desktop();

    if (mPosition == ILxQtPanel::PositionTop ||
        mPosition == ILxQtPanel::PositionBottom)
        return dw->screenGeometry(mScreenNum).width();
    else
        return dw->screenGeometry(mScreenNum).height();
}
Пример #11
0
RazorDeskManager::RazorDeskManager(const QString & configId, RazorSettings * config)
    : DesktopPlugin(configId, config)
{
    m_launchMode = DesktopPlugin::launchModeFromString(config->value("icon-launch-mode").toString());

    config->beginGroup(configId);
    bool makeIcons = config->value("icons", false).toBool();
    //now we got the desktop we need to determine if the user wants a defined picture there
    QString finalPixmap = config->value("wallpaper", "").toString();
    config->endGroup();

    if (finalPixmap.isEmpty() || !QFile::exists(finalPixmap))
    {
        //now we want to use the system default - we still need to find that one out though
        finalPixmap = razorTheme.desktopBackground();
        qDebug() << "trying to get system-defaults" << finalPixmap;
    }

    if (! finalPixmap.isEmpty())
    {
        qDebug() << "Creating wallpaper";
        int width,height;
        QDesktopWidget * dw = QApplication::desktop();
        if (dw->screenCount() == 1)
        {
            width=dw->width();
            height = dw->height();
        }
        else
        {
            width=dw->screenGeometry(-1).width();
            height=dw->screenGeometry(-1).height();
        }

        QPixmap pixmap(finalPixmap);
        pixmap = pixmap.scaled(width,height);
        Pixmap p = pixmap.handle();
        XGrabServer(QX11Info::display());
        XChangeProperty(QX11Info::display(), QX11Info::appRootWindow(), XfitMan::atom("_XROOTPMAP_ID"), XA_PIXMAP, 32, PropModeReplace, (unsigned char *) &p, 1);
        XChangeProperty(QX11Info::display(), QX11Info::appRootWindow(), XfitMan::atom("ESETROOT_PMAP_ID"), XA_PIXMAP, 32, PropModeReplace, (unsigned char *) &p, 1);
        XSetCloseDownMode(QX11Info::display(), RetainPermanent);
        XSetWindowBackgroundPixmap(QX11Info::display(), QX11Info::appRootWindow(), p);
        XClearWindow(QX11Info::display(), QX11Info::appRootWindow());
        XUngrabServer(QX11Info::display());
        XFlush(QX11Info::display());
    }
    
    if (makeIcons)
    {
        deskicons = new RazorSettings("deskicons", this);    
        m_fsw = new QFileSystemWatcher(QStringList() << QDesktopServices::storageLocation(QDesktopServices::DesktopLocation), this);
        connect(m_fsw, SIGNAL(directoryChanged(const QString&)), this, SLOT(updateIconList()));
        updateIconList();
    }
}
Пример #12
0
int main(int argc, char *argv[])
{
    QApplication::setAttribute(Qt::AA_UseOpenGLES,true);
    QApplication a(argc, argv);

    // MODEL
    SubteState * m_subte = new SubteState();
    // CONTROLLER DISPATCHER
    EventHandler *m_eventHandler = new EventHandler();

    // VIEWS
    BoardCenter * m_c = new BoardCenter(0);
    BoardAtp *m_a = new BoardAtp(0);
    BoardMac *m_m = new BoardMac(0,m_subte,m_eventHandler);
    BoardBottom *m_b = new BoardBottom(0);
    BoardHardware *m_h = new BoardHardware(0,m_subte,m_eventHandler);

    QTabWidget *m_tabs = new QTabWidget(0);
    m_tabs->addTab(m_h,QObject::tr("HARDWARE"));
    m_tabs->addTab(m_b,QObject::tr("BOTTOM"));
    m_tabs->setMinimumWidth(1024);
    m_tabs->setMinimumHeight(768);

    QDesktopWidget *desktop = a.desktop();
    if(desktop->screenCount() == 4){
        QRect s0 = desktop->screenGeometry(0);
        QRect s1 = desktop->screenGeometry(1);
        QRect s2 = desktop->screenGeometry(2);
        QRect s3 = desktop->screenGeometry(3);

        m_c->showFullScreen();
        m_a->showFullScreen();
        m_m->showFullScreen();
        m_tabs->showFullScreen();

        m_c->move(s0.topLeft());
        m_a->move(s2.topLeft());
        m_m->move(s3.topLeft());
        m_tabs->move(s1.topLeft());

    }else{
        m_c->showNormal();
        m_a->showNormal();
        m_m->showNormal();
        m_tabs->showNormal();
    }

    m_eventHandler->setModel(m_subte);
    m_subte->setHandler(m_eventHandler);
    m_eventHandler->initConnection(qApp->applicationDirPath());

    QObject::connect(m_eventHandler,SIGNAL(closeApp()),qApp,SLOT(quit()));
    return a.exec();
}
Пример #13
0
EXPORT QRect screenGeometry(unsigned nScreen)
{
    QDesktopWidget *desktop = QApplication::desktop();
    if(nScreen == ~0U) {
        QRect rc;
        for (int i = 0; i < desktop->numScreens(); i++){
            rc |= desktop->screenGeometry(i);
        }
        return rc;
    }
    return desktop->screenGeometry(nScreen);
}
Пример #14
0
void TupCanvas::penDialog()
{
    QDesktopWidget desktop;
    TupPenDialog *dialog = new TupPenDialog(k->brushManager, this);
    connect(dialog, SIGNAL(updatePen(int)), this, SLOT(updateThickness(int)));

    QApplication::restoreOverrideCursor();

    dialog->show();
    dialog->move((int) (desktop.screenGeometry().width() - dialog->width())/2 ,
                        (int) (desktop.screenGeometry().height() - dialog->height())/2);
}
Пример #15
0
void TupCanvas::exposureDialog()
{
    QDesktopWidget desktop;
    TupExposureDialog *dialog = new TupExposureDialog(k->project, k->scene->currentSceneIndex(), 
                                                      k->scene->currentLayerIndex(), k->scene->currentFrameIndex(), this);
    // connect(dialog, SIGNAL(updatePen(int)), this, SLOT(updateThickness(int)));

    QApplication::restoreOverrideCursor();

    dialog->show();
    dialog->move((int) (desktop.screenGeometry().width() - dialog->width())/2 ,
                        (int) (desktop.screenGeometry().height() - dialog->height())/2);
}
Пример #16
0
/*************ClientP: log out******************/
void MainWindow::on_btnLO_clicked()
{
  ui->stackedWidget->setCurrentIndex(0);
  ui->widgetWelcome->show();
  ui->widgetLog->hide();
  QDesktopWidget* desktopWidget = QApplication::desktop();
  int winWidth=desktopWidget->screenGeometry().width();
  int winHeight=desktopWidget->screenGeometry().height();
  QRect winRect((winWidth-400)/2,(winHeight-300)/2,400,300);
  this->setGeometry(winRect);
  this->setFixedSize(400,300);
  userName_="";
  userPassword_="";
}
// Return geometry of user's screen selection
bool screenSelectDialog::getFullscreenGeometry( QWidget* target, QRect& geom )
{
    // Determine number of screens
    QDesktopWidget* desktop = QApplication::desktop();
    int numScreens = desktop->screenCount();

    // If more than one screen, ask the user where to go fullscreen
    if( numScreens > 1 )
    {
        // construct the dialog
        screenSelectDialog* screenSelect = new screenSelectDialog( numScreens, target );

        // Get user's choice of screen
        if( screenSelect->exec() == QDialog::Rejected )
        {
            return false;
        }

        // Determine the geometry of the user's choice
        int screenId = screenSelect->getScreenNum();
        switch( screenId )
        {
            case screenSelectDialog::PRIMARY_SCREEN:
                geom = desktop->screenGeometry( desktop->primaryScreen() );
                break;

            case screenSelectDialog::THIS_SCREEN:
                geom = desktop->screenGeometry( target );
                break;

            case screenSelectDialog::ALL_SCREENS:
                geom = desktop->geometry();
                break;

            default:
                geom = desktop->screenGeometry( screenId );
                break;
        }
    }

    // If only one screen, just get it's geometry
    else
    {
        geom = desktop->screenGeometry( desktop->primaryScreen() );
    }

    // All done
    return true;
}
Пример #18
0
void regionEditDialog::listReady(void)
{
	disconnect(link, SIGNAL(success()), 0, 0);

	regionSelector.clear();
	regionSelector.addItem("");
	regionSelector.addItems(link->getRegionList());
	regionSelector.setCurrentIndex(0);
	connect(&regionSelector, SIGNAL(currentIndexChanged(int)), this, SLOT(changeRegion(int)));

	window->setEnabled(0);
	show();
	QDesktopWidget screen;
	move((screen.screenGeometry().width() - size().width())/2, (screen.screenGeometry().height() - size().height())/2);
}
Пример #19
0
ObjKsTheme::ObjKsTheme( const QString& theme )
  :mActiveTheme (theme), mThemeDir("/"), mThemeConfig (0L), mThemePrefix( "Themes/" ), d(0)
{
  // Get Xinerama config.
  KConfig *config = kapp->config();
  config->setGroup( "Xinerama" );
  QDesktopWidget *desktop = kapp->desktop();
  mXineramaScreen = config->readNumEntry("KSplashScreen", desktop->primaryScreen());

  // For Xinerama, let's put the mouse on the first head.  Otherwise it could appear anywhere!
  if (desktop->isVirtualDesktop() && mXineramaScreen != -2)
  {
    QRect rect = desktop->screenGeometry( mXineramaScreen );
    if (!rect.contains(QCursor::pos()))
      QCursor::setPos(rect.center());
  }

  // Does the active theme exist?
  if( !loadThemeRc( mActiveTheme, false ) )
    if( !loadLocalConfig( mActiveTheme, false ) )
      if( !loadThemeRc( "Default", false ) )
        loadLocalConfig( "Default", true ); //force: we need some defaults
  loadCmdLineArgs(KCmdLineArgs::parsedArgs());
  mThemePrefix += ( mActiveTheme + "/" );
}
Пример #20
0
void VisibleAreaMode::stop(int x, int y) {
    toolbar_.appView().setMouseTracking(false);

    move(x, y);
    const int padding = 10;

    QDesktopWidget *desktop = QApplication::desktop();
    QRect geo = desktop->screenGeometry(desktop->screenNumber(QCursor::pos()));

    // Width
    int formX = area.x + area.width + 28;
    int screenWidth = geo.width();
    int formWidth = toolbar_.width();

    if (formX + formWidth + padding > screenWidth) {
        formX = screenWidth - formWidth - padding;
    }

    // Height
    int formHeight = toolbar_.height();
    int formY = area.y + area.height / 2 - formHeight / 2;
    int screenHeight = geo.height();

    if (formY < padding) {
        formY = padding;
    } else if (formY + formHeight + padding > screenHeight) {
        formY = screenHeight - formHeight - padding;
    }

    toolbar_.setGeometry(formX, formY, formWidth, formHeight);
    toolbar_.show();
}
Пример #21
0
void VisibleAreaMode::set(int x, int y, int width, int height) {
    int sceneWidth = scene_.width(),
        sceneHeight = scene_.height();

    rectTop->setRect(0, 0, sceneWidth, y);
    rectBottom->setRect(0, y + height, sceneWidth, sceneHeight - y - height);
    rectLeft->setRect(0, y, x, height);
    rectRight->setRect(x + width, y, sceneWidth - x - width, height);

    QDesktopWidget *desktop = QApplication::desktop();
    QRect geo = desktop->screenGeometry(desktop->screenNumber(QCursor::pos()));

    int screenWidth = geo.width();
    int screenHeight = geo.height();

    // Horizontal and vertical lines
    if (0 == width && 0 == height) {
        lineTop->setLine(0, y, screenWidth, y);
        lineLeft->setLine(x, 0, x, screenHeight);
        return;
    }

    lineTop->setLine(0, y - 1, screenWidth, y - 1);
    lineBottom->setLine(0, y + height + 1, screenWidth, y + height + 1);
    lineLeft->setLine(x - 1, 0, x - 1, screenHeight);
    lineRight->setLine(x + width + 1, 0, x + width + 1, sceneHeight);
}
Пример #22
0
void VSCMainWindows::EditVGroup(int nId)
{
    VSCIPCGroupConf group;
	VSCVGroupDataItem groupItem;
	gFactory->GetVGroupById(groupItem, nId);
	group.SetName(groupItem.Name);
       group.show();
       QDesktopWidget *desktop = QApplication::desktop();
	QRect rect = desktop->screenGeometry(0);
	group.setGeometry(rect.width()/2 -group.width()/2 , 
					rect.height()/2 - group.height()/2, 
					group.width(), group.height());
       group.exec();

	VSCIPCGroupConfType type = group.GetType();
	if (type == VSC_IPCGROUP_CONF_LAST 
		|| type == VSC_IPCGROUP_CONF_CANCEL)
	{
		return;
	}
	string strName = "Group";
	group.GetName(strName);
	strcpy(groupItem.Name, strName.c_str());
    	gFactory->AddVGroup(groupItem);
}
Пример #23
0
void tst_QDesktopWidget::screenNumberForQPoint()
{
    // make sure QDesktopWidget::screenNumber(QPoint) returns the correct screen
    QDesktopWidget *desktopWidget = QApplication::desktop();
    QRect allScreens;
    for (int i = 0; i < desktopWidget->numScreens(); ++i) {
        QRect screenGeometry = desktopWidget->screenGeometry(i);
        QCOMPARE(desktopWidget->screenNumber(screenGeometry.center()), i);
        allScreens |= screenGeometry;
    }

    // make sure QDesktopWidget::screenNumber(QPoint) returns a valid screen for points that aren't on any screen
    int screen;
    screen = desktopWidget->screenNumber(allScreens.topLeft() - QPoint(1, 1));

#ifdef Q_WS_QWS
    QEXPECT_FAIL("", "Task 151710", Abort);
#endif
    QVERIFY(screen >= 0 && screen < desktopWidget->numScreens());
    screen = desktopWidget->screenNumber(allScreens.topRight() + QPoint(1, 1));
    QVERIFY(screen >= 0 && screen < desktopWidget->numScreens());
    screen = desktopWidget->screenNumber(allScreens.bottomLeft() - QPoint(1, 1));
    QVERIFY(screen >= 0 && screen < desktopWidget->numScreens());
    screen = desktopWidget->screenNumber(allScreens.bottomRight() + QPoint(1, 1));
    QVERIFY(screen >= 0 && screen < desktopWidget->numScreens());
}
Пример #24
0
int CaptureDialog::update_screen_combo(void)
{
    //disable signals
    screen_combo->blockSignals(true);

    //save current value
    int current = screen_combo->currentIndex();

    //update combo
    QStringList list;
    screen_combo->clear();
    QDesktopWidget * desktop = QApplication::desktop();
    int screens =  desktop->screenCount();
    for (int i=0; i<screens; i++)
    {
        const QRect rect = desktop->screenGeometry(i);
        list.append(QString("Screen %1 [%2x%3]").arg(i).arg(rect.width()).arg(rect.height()));
    }
    screen_combo->addItems(list);

    //set current value
    int saved_value = APP->config.value("capture/projector_screen", 1).toInt();
    int default_screen = (saved_value<screen_combo->count() ? saved_value : 0);
    screen_combo->setCurrentIndex((-1<current && current<screen_combo->count() ? current : default_screen));

    //enable signals
    screen_combo->blockSignals(false);

    return screen_combo->count();
}
Пример #25
0
LapUSMouse::LapUSMouse(mtsIntuitiveDaVinci *daVinci ,QWidget* mainWidget) {

//	this->parent = parent;	
	this->daVinci = daVinci;
	this->mainWidget = mainWidget;
	setAutoFillBackground(true);
	setScaledContents(true);
	resize(50,50);
	setText("I am a mouse");


	//setPixmap(Qt::red);
	setWindowFlags(Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);	

	setupDaVinci(); 
	//update the first time 
	updateDaVinci();
	QDesktopWidget *desk = QApplication::desktop();
	if(desk)
    	screenSize = desk->screenGeometry(0);

    std::cout<<"Screen size width "<<screenSize.width()<<std::endl;
    std::cout<<"Screen size height "<<screenSize.height()<<std::endl;

	// connect with the timer to update the mouse position every 50 milliseconds
	connect( &timer, SIGNAL(timeout()), this, SLOT(updateMouse()) );
    timer.start( 100 );
    
}
Пример #26
0
VideoOutWindow::VideoOutWindow() :
    // DB settings
    db_move(0, 0), db_scale_horiz(0.0f), db_scale_vert(0.0f),
    db_pip_size(26),
    db_scaling_allowed(true),

    using_xinerama(false), screen_num(0), screen_geom(0, 0, 1024, 768),

    // Manual Zoom
    mz_scale_v(1.0f), mz_scale_h(1.0f), mz_move(0, 0),

    // Physical dimensions
    display_dim(400, 300), display_aspect(1.3333f),

    // Video dimensions
    video_dim(640, 480),     video_disp_dim(640, 480),
    video_dim_act(640, 480), video_aspect(1.3333f),

    // Aspect override
    overriden_video_aspect(1.3333f), aspectoverride(kAspect_Off),

    // Adjust Fill
    adjustfill(kAdjustFill_Off),

    // Screen settings
    video_rect(0, 0, 0, 0),
    display_video_rect(0, 0, 0, 0),
    display_visible_rect(0, 0, 0, 0),
    tmp_display_visible_rect(0, 0, 0, 0),

    // Various state variables
    embedding(false), needrepaint(false),
    allowpreviewepg(true), pip_state(kPIPOff)
{
    db_pip_size = gCoreContext->GetNumSetting("PIPSize", 26);

    db_move = QPoint(gCoreContext->GetNumSetting("xScanDisplacement", 0),
                     gCoreContext->GetNumSetting("yScanDisplacement", 0));
    db_use_gui_size = gCoreContext->GetNumSetting("GuiSizeForTV", 0);

    QDesktopWidget *desktop = NULL;
    if (QApplication::type() == QApplication::GuiClient)
        desktop = QApplication::desktop();

    if (desktop)
    {
        screen_num = desktop->primaryScreen();
        using_xinerama  = (GetNumberXineramaScreens() > 1);
        if (using_xinerama)
        {
            screen_num = gCoreContext->GetNumSetting("XineramaScreen", screen_num);
            if (screen_num >= desktop->numScreens())
                screen_num = 0;
        }

        screen_geom = desktop->geometry();
        if (screen_num >= 0)
            screen_geom = desktop->screenGeometry(screen_num);
    }
}
Пример #27
0
bool Worker::setImage(QString &path)
{
    QImage source(path), dest;
    if (source.isNull())
        return false;

    QDesktopWidget *desktop = QApplication::desktop();
    QRect geo = desktop->screenGeometry(desktop->primaryScreen());
    int lw = geo.width();
    int lh = geo.height();
    float iw = source.width();
    float ih = source.height();

    if ((iw <= lw) && (ih <= lh))
        dest = source;
    else
        if ((iw / lw) > (ih / lh))
            dest = source.scaledToWidth(lw, Qt::SmoothTransformation);
        else
            dest = source.scaledToHeight(lh, Qt::SmoothTransformation);

    setPixmap(QPixmap::fromImage(dest));

    return true;
}
Пример #28
0
EXPORT QRect screenGeometry(unsigned nScreen)
{
#if QT_VERSION >= 300
    QDesktopWidget *desktop = QApplication::desktop();
    return desktop->screenGeometry(nScreen);
#else 
#ifdef WIN32
    HINSTANCE hLib = LoadLibraryA("user32.dll");
    BOOL (WINAPI *_EnumDisplayMonitors)(HDC, LPCRECT, MONITORENUMPROC, LPARAM) = NULL;
    (DWORD&)_EnumDisplayMonitors = (DWORD)GetProcAddress(hLib, "EnumDisplayMonitors");
    if (_EnumDisplayMonitors == NULL){
        FreeLibrary(hLib);
        return QApplication::desktop()->rect();
    }
    vector<QRect> rc;
    if (_EnumDisplayMonitors(NULL, NULL, enumScreens, (LPARAM)&rc) == 0){
        FreeLibrary(hLib);
        return QApplication::desktop()->rect();
    }
    return rc[nScreen];
#else
    return QApplication::desktop()->rect();
#endif
#endif
}
Пример #29
0
void QtToaster::changeToasterPosition() {
	QDesktopWidget * desktop = QApplication::desktop();
	QPoint p = _toaster->pos();

	//Toaster is showing slowly
	if (_show) {
		_toaster->move(p.x(), p.y() - 3);

		QRect desktopGeometry = desktop->availableGeometry(desktop->primaryScreen());

		if (p.y() < (desktopGeometry.bottom() - _toaster->size().height() - 5)) {
			//Toaster should be hidden now
			_show = false;
			_timer->stop();
			//Waits 5 seconds with the toaster on top
			_timer->start(_timeOnTop);
		}
	}

	//Toaster is hiding slowly
	else {
		_toaster->move(p.x(), p.y() + 3);
		_toaster->repaint();
		QRect screenGeometry = desktop->screenGeometry(desktop->primaryScreen());

		_timer->stop();
		_timer->start(TIME_TO_SHOW);

		if (p.y() > (screenGeometry.bottom())) {
			//Closes the toaster -> hide it completely
			close();
		}
	}
}
Пример #30
0
EXPORT QRect screenGeometry()
{
#if QT_VERSION >= 300
    QDesktopWidget *desktop = QApplication::desktop();
    QRect rc;
    for (int i = 0; i < desktop->numScreens(); i++){
        rc |= desktop->screenGeometry(i);
    }
    return rc;
#else 
#ifdef WIN32
    HINSTANCE hLib = LoadLibraryA("user32.dll");
    BOOL (WINAPI *_EnumDisplayMonitors)(HDC, LPCRECT, MONITORENUMPROC, LPARAM) = NULL;
    (DWORD&)_EnumDisplayMonitors = (DWORD)GetProcAddress(hLib, "EnumDisplayMonitors");
    if (_EnumDisplayMonitors == NULL){
        FreeLibrary(hLib);
        return QApplication::desktop()->rect();
    }
    vector<QRect> rc;
    if (_EnumDisplayMonitors(NULL, NULL, enumScreens, (LPARAM)&rc) == 0){
        FreeLibrary(hLib);
        return QApplication::desktop()->rect();
    }
    QRect res;
    for (vector<QRect>::iterator it = rc.begin(); it != rc.end(); ++it)
        res |= (*it);
    return res;
#else
    return QApplication::desktop()->rect();
#endif
#endif
}