int main(int argc, char *argv[]) { QApplication a(argc, argv); //int scrW = QApplication::desktop()->screenGeometry().width(); //int scrH = QApplication::desktop()->screenGeometry().height(); ResourceFileReader *rfReader = new ResourceFileReader(); int x, y, w, h, interval; QString source, mode, streamScriptDir; // // Check arguments // if ((argc - 1) == 5) { parseArgs(argv, &x, &y, &w, &h); rfReader->setResourceFile(argv[5]); } else { qDebug() << "Slideshow - revert to defaults";// Revert to defaults w = 1305; // Set fixed width to 500 h = 734; // Old fixed height of the text script x = 0; y = 0; rfReader->setResourceFile("/home/pi/enter/resources/multimediawidget.xml"); } mode = rfReader->getResource("mode"); interval = rfReader->getResourceInt("slideshowInterval"); streamScriptDir = rfReader->getResource("streamScriptDir"); if(mode.compare("stream") == 0) { source = rfReader->getResource("streamURL"); } else if(mode.compare("slideshow") == 0) { source = rfReader->getResource("multimediaPath"); } MultimediaWidget *s = new MultimediaWidget(mode, source, interval, streamScriptDir); s->setDimensions(x, y, w, h); //show the images s->startWidget(); QGraphicsView *view = new QGraphicsView(s->getScene()); s->setView(view); //aesthetics: no scrollbars view->setGeometry(x, y, w, h); view->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); view->setVerticalScrollBarPolicy(Qt::ScrollBarAlwaysOff); view->setStyleSheet("background-color:white;"); view->showNormal(); return a.exec(); }
GenericCodeEditor::GenericCodeEditor( Document *doc, QWidget *parent ): QPlainTextEdit( parent ), mDoc(doc), mLastCursorBlock(-1) { Q_ASSERT(mDoc != 0); setFrameShape( QFrame::NoFrame ); viewport()->setAttribute( Qt::WA_MacNoClickThrough, true ); mLineIndicator = new LineIndicator(this); mLineIndicator->move( contentsRect().topLeft() ); mOverlay = new QGraphicsScene(this); QGraphicsView *overlayView = new QGraphicsView(mOverlay, this); overlayView->setFrameShape( QFrame::NoFrame ); overlayView->setBackgroundBrush( Qt::NoBrush ); overlayView->setStyleSheet("background: transparent"); overlayView->setFocusPolicy( Qt::NoFocus ); overlayView->setAttribute(Qt::WA_TransparentForMouseEvents, true); overlayView->setSceneRect(QRectF(0,0,1,1)); overlayView->setAlignment(Qt::AlignLeft | Qt::AlignTop); mOverlayWidget = overlayView; connect( mDoc, SIGNAL(defaultFontChanged()), this, SLOT(onDocumentFontChanged()) ); connect( this, SIGNAL(blockCountChanged(int)), mLineIndicator, SLOT(setLineCount(int)) ); connect( mLineIndicator, SIGNAL( widthChanged() ), this, SLOT( updateLayout() ) ); connect( this, SIGNAL(updateRequest(QRect,int)), this, SLOT(updateLineIndicator(QRect,int)) ); connect( this, SIGNAL(selectionChanged()), mLineIndicator, SLOT(update()) ); connect( this, SIGNAL(cursorPositionChanged()), this, SLOT(onCursorPositionChanged()) ); connect( Main::instance(), SIGNAL(applySettingsRequest(Settings::Manager*)), this, SLOT(applySettings(Settings::Manager*)) ); QTextDocument *tdoc = doc->textDocument(); QPlainTextEdit::setDocument(tdoc); onDocumentFontChanged(); mLineIndicator->setLineCount(blockCount()); applySettings( Main::settings() ); }
void JobViewServer::setupUi() { // Paar allgemeine Parameter setBackgroundHints(DefaultBackground); setHasConfigurationInterface(true); setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); resize(400, 80); // Rahmen, der das Hauptlayout enthält Plasma::Frame* frame = new Plasma::Frame(); frame->setFrameShadow(Plasma::Frame::Sunken); QGraphicsLinearLayout* fullSpaceLayout = new QGraphicsLinearLayout(); fullSpaceLayout->setContentsMargins(0,0,0,0); setLayout(fullSpaceLayout); fullSpaceLayout->addItem(frame); QGraphicsLinearLayout* layout = new QGraphicsLinearLayout(); layout->setContentsMargins(0,0,0,0); frame->setLayout(layout); // Icon mit History und Queue Indicator iconWidget = new Plasma::IconWidget(); iconWidget->setPreferredWidth(25); iconWidget->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Expanding); iconWidget->setIcon(KIcon("arrow-down")); layout->addItem(iconWidget); // Layout mit Progressbars meterContainer = new Plasma::Label(); meterContainer->nativeWidget()->setWordWrap(true); meterLayout = new QGraphicsLinearLayout(); meterContainer->setLayout(meterLayout); layout->addItem(meterContainer); // Popup erzeugen popup = new Plasma::Dialog(); QVBoxLayout* popupLayout = new QVBoxLayout(); popupLayout->setContentsMargins(0,0,0,0); popup->setLayout(popupLayout); popup->setWindowFlags(Qt::Popup); popup->resize(400, 300); // GraphicsView und GraphicsScene erzeugen QGraphicsScene* popupScene = new QGraphicsScene(); QGraphicsView* popupView = new QGraphicsView(); popupView->setScene(popupScene); popupView->setFrameStyle(QFrame::NoFrame); popupView->setStyleSheet("background-color: transparent;"); popupView->setAlignment(Qt::AlignHCenter | Qt::AlignTop); popupView->setHorizontalScrollBarPolicy(Qt::ScrollBarAsNeeded); popupView->setVerticalScrollBarPolicy(Qt::ScrollBarAsNeeded); popupLayout->addWidget(popupView); // Container mit dem GridLayout zur Scene hinzufügen jobViewContainer = new QGraphicsWidget(); jobViewLayout = new QGraphicsLinearLayout(Qt::Vertical); jobViewLayout->setContentsMargins(5,5,5,5); jobViewContainer->setLayout(jobViewLayout); popupScene->addItem(jobViewContainer); // Überschrift-/Nachrichtenbereich popupHeadline = new Plasma::Label(); popupHeadline->nativeWidget()->setAlignment(Qt::AlignCenter); jobViewLayout->addItem(popupHeadline); QObject::connect(iconWidget, SIGNAL(clicked()), this, SLOT(showPopup())); }