From 972da79d53f5679e72e9525378f2971a2c7cbdd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Luis=20=C3=81ngel=20San=20Mart=C3=ADn?= Date: Thu, 7 Feb 2013 18:01:08 +0100 Subject: [PATCH] a?adido y maquetado slider para controlar el ancho de p?gina desde la toolbar --- YACReader/images.qrc | 5 +++ YACReader/main_window_viewer.cpp | 14 ++++++- common/custom_widgets.cpp | 63 +++++++++++++++++++++++++++++++ common/custom_widgets.h | 10 +++++ images/sliderAddPage.png | Bin 0 -> 186 bytes images/sliderBackground.png | Bin 0 -> 304 bytes images/sliderGround.png | Bin 0 -> 955 bytes images/sliderHandle.png | Bin 0 -> 868 bytes images/sliderSubPage.png | Bin 0 -> 182 bytes 9 files changed, 91 insertions(+), 1 deletion(-) create mode 100644 images/sliderAddPage.png create mode 100644 images/sliderBackground.png create mode 100644 images/sliderGround.png create mode 100644 images/sliderHandle.png create mode 100644 images/sliderSubPage.png diff --git a/YACReader/images.qrc b/YACReader/images.qrc index 88004c76..31273fcb 100644 --- a/YACReader/images.qrc +++ b/YACReader/images.qrc @@ -47,6 +47,11 @@ ../images/imgGoToSlide.png ../images/imgCenterSlidePressed.png ../images/imgGoToSlidePressed.png + ../images/sliderBackground.png + ../images/sliderGround.png + ../images/sliderSubPage.png + ../images/sliderAddPage.png + ../images/sliderHandle.png ../images/helpImages/open.png ../images/helpImages/openFolder.png diff --git a/YACReader/main_window_viewer.cpp b/YACReader/main_window_viewer.cpp index 67e6ebbb..1aead5b6 100644 --- a/YACReader/main_window_viewer.cpp +++ b/YACReader/main_window_viewer.cpp @@ -320,7 +320,19 @@ void MainWindowViewer::createToolBars() //comicToolBar->addWidget(widget); - comicToolBar->addAction(adjustWidth); + //comicToolBar->addAction(adjustWidth); + QMenu * menu = new QMenu(); + menu->setAutoFillBackground(false); + menu->setStyleSheet(" QMenu {background:transparent; border: 0px;padding: 0px; }" + ); + menu->addAction(new YACReaderSliderAction(this)); + QToolButton * tb2 = new QToolButton(); + tb2->addAction(adjustWidth); + tb2->setMenu(menu); + //tb2->addAction(); + tb2->setPopupMode(QToolButton::MenuButtonPopup); + tb2->setDefaultAction(adjustWidth); + comicToolBar->addWidget(tb2); comicToolBar->addAction(adjustToFullSizeAction); comicToolBar->addAction(leftRotationAction); comicToolBar->addAction(rightRotationAction); diff --git a/common/custom_widgets.cpp b/common/custom_widgets.cpp index bbcc909c..c398c649 100644 --- a/common/custom_widgets.cpp +++ b/common/custom_widgets.cpp @@ -1205,4 +1205,67 @@ YACReaderFlowConfigWidget::YACReaderFlowConfigWidget(QWidget * parent ) layout->setContentsMargins(0,0,0,0); setLayout(layout); +} + + +YACReaderSliderAction::YACReaderSliderAction (QWidget * parent) + :QWidgetAction (0) { + + //QWidget* pWidget = new QWidget (0); + + //QLabel* imgLabel = new QLabel(pWidget); + //QPixmap p(":/images/numPagesLabel.png"); + //imgLabel->resize(p.size()); + //imgLabel->setPixmap(p); + + //QLabel * textLabel = new QLabel(pWidget); + //textLabel->setAlignment(Qt::AlignVCenter|Qt::AlignHCenter); + //textLabel->setStyleSheet("QLabel { color : white; }"); + //textLabel->setText("hola"); + ////informationLabel->setAutoFillBackground(true); + ////textLabel->setFont(QFont("courier new bold", 12)); + ////textLabel->resize(100,25); + + //textLabel->setGeometry(imgLabel->geometry()); + + //setDefaultWidget(pWidget); + + QWidget* pWidget = new QWidget (NULL); + QHBoxLayout* pLayout = new QHBoxLayout(); + QLabel * pLabel = new QLabel ("100%"); + pLabel->setStyleSheet("QLabel { color : white; }"); + pLayout->addWidget (pLabel); + QSlider * slider = new QSlider(NULL); + slider->setOrientation(Qt::Horizontal); + pLayout->addWidget (slider); + //"background-image: url(:/images/sliderGround.png); width: 100%; height:100%; background-repeat: none; border: none; padding: 0px; color: white;" + //"QSlider::sub-page:horizontal {background-image: url(:/images/sliderSubPage.png); background-repeat:repeat-x;}" + QString sliderCSS = "QSlider {background-image: url(:/images/sliderGround.png); width: 100%; height:100%; background-repeat: none; border: none; padding: 0px;} " + + "QSlider::sub-page:horizontal {background-image: url(:/images/sliderSubPage.png); border: 0px; margin-left: 18px;}" + "QSlider::add-page:horizontal {background-image: url(:/images/sliderAddPage.png); border: 0px; margin-right: 18px;}" + "QSlider::handle:horizontal {image: url(:/images/sliderHandle.png); width: 100px;height:45px;padding:-20px; margin-left:-10px; margin-right:-10px; }" + //"QSlider::groove:horizontal {border-image:url(:/images/sliderGround.png); border-left:-10px; border-right:-10px;}" + ; + + //"QSlider::handle {background-image: url(:/images/sliderHandle.png); border: 0px; width: 31px; height:45px; margin:0px; padding:0px;}" + slider->setStyleSheet(sliderCSS); + slider->setFixedSize(214,45); + + QLabel* imgLabel = new QLabel(pWidget); + QPixmap p(":/images/sliderBackground.png"); + imgLabel->resize(p.size()); + imgLabel->setPixmap(p); + + pLayout->setMargin(0); + pLayout->setSpacing(0); + + pWidget->setLayout (pLayout); + pWidget->setAutoFillBackground(false); + + //pWidget->setMinimumSize(250,45); + + setDefaultWidget(pWidget); + + } \ No newline at end of file diff --git a/common/custom_widgets.h b/common/custom_widgets.h index 01cc8f77..d78c7b8d 100644 --- a/common/custom_widgets.h +++ b/common/custom_widgets.h @@ -366,6 +366,16 @@ signals: void optionsChanged(); }; +////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// +////////////////////////////////////////////////////////////////////////// + +class YACReaderSliderAction : public QWidgetAction { +public: + YACReaderSliderAction (QWidget * parent = 0); +}; + #endif diff --git a/images/sliderAddPage.png b/images/sliderAddPage.png new file mode 100644 index 0000000000000000000000000000000000000000..1c2851964d1c1f8292de0f96feb809e8303f9937 GIT binary patch literal 186 zcmeAS@N?(olHy`uVBq!ia0vp^j6kf*!2~29NKTs!q$EpRBT9nv(@M${i&7aJQ}UBi z6+Ckj(^G>|6H_V+Po~-c6~%bEIEGZ*>N#u3bwEMD6_NJ*BsMwA5Sr&-1kzGejhhl@cw=dqWbUAcof!?5svD);BO zN319KCDoTaw(!!_kGQ+<{m$=ovC}svR4RYH6E)ddu;SX#A^Ys?-Ly7^oHT3@l6Q;-ZITm!YM=1^ zpSJrfk7I>#b0Qm1N&Ctoe@#p7Y31{t@11$l(wckP_nfqCxy52L?k29hv$x~OTd*-I pJFAu41kNjMy7o$^D2hUdC{KmBNDv^v`Hx2$E$hW07s)61|BBW6mLTt!8PBds z^6~L8K}bZjTCMcqaNvy~QL)?Ys33`w_xE=yNEihP737T|RFF_XLRgLvMnOU%P%y>2 zKo|uH6(r<8R50nI{oqmFKH?;3lmHJ2TV;W1eUy<_Th+Tfvl1I-NE}G%XYGb*ed9_+`Fv$1GX0z35wNxsZ=@_ORl_L;SpB7=>a5#K;c&OLwxL8xO@Zs+>1Mg0oiRUax1f+1=e8F6nl=9Icp$sCia`8loL69FNEOeBP{A>_n`62-|2h;9t31 z4$jV;|7p->GMSs3o9%XszW}Jraf*qBVi=OAlpwGW4j>-EMf3cV3L^9Vcv!}VfP(lO z9H-cVc%+kp63!g+g0hL{zka`un28XG7Dk%!?^CssB;v_r^7{I^TrN2b@ri<(h$RZb zKX_%H0FfL~P&QGy^m;vXP{ml~h|JxD*CGjj;RP*X9y&98D$p^+NYJkPtm zy%jy=(M~GjWV6|{=4_;oN;a3vA$7t(ZLLk`PU(R8eE!Gh<>iHgLBtJfni<80T@mZN z3=Si2YVn*nUS>YEEcpF0o3fkWfM12tox36(l4I{=K;Gc^+>B diIBen3;=;EazZEt z0ilQj%1c3s6j6heo(82!OU)y|Gen}`5dsuQS0PbQoD?b~t|3Jf(d6r5Cq92Hv(YR} z7CUwhj*}oO{k0osyuX?C&Unq(zU|w-?c2ZF_#e7gTqK-lyhrTfkeLxmd%h)d5d#(H zf$N|g>2u_|nmj@Y>{A^uQ@|8vpuHM%0+$LA8jx|c%>gq7Y@jT(wa7R};0o%a)Hp=N zI$)-N6|exhBGqcO?$_(}C&gm%9_PFwgg9L;m&b#_;8m~J`v5j86h{YGk^?*euE2SO zmOyr=(|KMf6do-W3l;>y&j?JDmCI%3dEVP@xBCn(xgZCfI3tf@V?!ESqE_ItRJ+}N z0g*nOPN!>d6h%KIf4i>BEX%svXf$s3`~CN16AIFAG$SQyTY{U-=7Var`gAgxY(RCb zRx4)P_MJ+l@);h(5TgwUJkv8*&ss)q*J`!Lf;YVC@4;=`!)ZBpU zsb!Jq59P9EY0|-bK7WY!xj2u9b4JvGxKzvO8xFvwEK#clyT631mdAMvQkZ^O_P8>d zQ_Jr-jtg)*D;%=Hjj0Fv{35N$tOXnG1eUU~1NLl#90X{hqknh30^-rAUP3(#2J=2;4`IOXMUxYms)6 zQPKOvv4Fr;<>K0ZXXJhEk)@8Z9HVITp_canPI#V^Ol+?6zi@_2EHeB8Pp{jK)0sXR ue&^gS($4Ld`o(go-)j4|Z~ssGF2Dc_Cc+Pc+P>@n0000|6H_V+Po~-c6-9WuIEGZ*>ghemdBA{&xmC95+3)u%*S412s-7RK`Skm9 e@3_yZ2N<5&M#;!GbKC>k!QkoY=d#Wzp$P!whCpoq literal 0 HcmV?d00001