summaryrefslogtreecommitdiff
authoralwin <alwin>2005-03-14 14:57:07 (UTC)
committer alwin <alwin>2005-03-14 14:57:07 (UTC)
commit2a1c1ebfe0203d9aa98a966b3571a340f413a624 (patch) (side-by-side diff)
tree721d87824c7dbb802cd990326c2828554fc49bca
parent740454f425131a88fbcc973d3ec5cc152aa7fb70 (diff)
downloadopie-2a1c1ebfe0203d9aa98a966b3571a340f413a624.zip
opie-2a1c1ebfe0203d9aa98a966b3571a340f413a624.tar.gz
opie-2a1c1ebfe0203d9aa98a966b3571a340f413a624.tar.bz2
scrollview - when having a lot of buttons the dialog window is to small
to display them.
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/settings/button/buttonsettings.cpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/core/settings/button/buttonsettings.cpp b/core/settings/button/buttonsettings.cpp
index 779f6ef..a90b4a1 100644
--- a/core/settings/button/buttonsettings.cpp
+++ b/core/settings/button/buttonsettings.cpp
@@ -16,35 +16,37 @@
  _.=:.       :    :=>`: PARTICULAR PURPOSE. See the GNU General
..}^=.=       =       ; Public License for more details.
++=   -.     .`     .:
 :     =  ...= . :.=- You should have received a copy of the GNU
 -.   .:....=;==+<; General Public License along with this file;
  -_. . .   )=.  = see the file COPYING. If not, write to the
    --        :-=` Free Software Foundation, Inc.,
59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA.
*/
+#include "buttonsettings.h"
+#include "buttonutils.h"
+#include "remapdlg.h"
+
#include <opie2/odevice.h>
#include <qpe/applnk.h>
#include <qlayout.h>
#include <qlabel.h>
#include <qtimer.h>
+#include <qscrollview.h>
-#include "buttonsettings.h"
-#include "buttonutils.h"
-#include "remapdlg.h"
using namespace Opie::Core;
struct buttoninfo {
const ODeviceButton *m_button;
int m_index;
OQCopMessage m_pmsg;
QLabel *m_picon;
QLabel *m_plabel;
OQCopMessage m_hmsg;
@@ -56,81 +58,89 @@ struct buttoninfo {
};
ButtonSettings::ButtonSettings ( QWidget *parent , const char *, bool, WFlags )
: QDialog ( parent, "ButtonSettings", false, WStyle_ContextHelp )
{
const QValueList <ODeviceButton> &buttons = ODevice::inst ( )-> buttons ( );
(void) ButtonUtils::inst ( ); // initialise
setCaption ( tr( "Button Settings" ));
QVBoxLayout *toplay = new QVBoxLayout ( this, 3, 3 );
+ QScrollView*mainview = new QScrollView(this);
+ mainview->setResizePolicy( QScrollView::AutoOneFit );
+
+ toplay->addWidget(mainview);
+ QFrame*framehold=new QFrame(mainview->viewport());
+ framehold->setFrameStyle(QFrame::NoFrame|QFrame::Plain);
+ mainview->addChild(framehold);
+ toplay = new QVBoxLayout (framehold, 3, 3 );
- QLabel *l = new QLabel ( tr( "<center>Press or hold the button you want to remap.</center>" ), this );
+ QLabel *l = new QLabel ( tr( "<center>Press or hold the button you want to remap.</center>" ), framehold );
toplay-> addWidget ( l );
QGridLayout *lay = new QGridLayout ( toplay );
lay-> setMargin ( 0 );
lay-> setColStretch ( 0, 0 );
lay-> setColStretch ( 1, 0 );
lay-> setColStretch ( 2, 0 );
lay-> setColStretch ( 3, 10 );
m_infos. setAutoDelete ( true );
int i = 1;
int index = 0;
for ( QValueList<ODeviceButton>::ConstIterator it = buttons. begin ( ); it != buttons. end ( ); it++ ) {
if ( it != buttons. begin ( )) {
- QFrame *f = new QFrame ( this );
+ QFrame *f = new QFrame ( framehold );
f-> setFrameStyle ( QFrame::Sunken | QFrame::VLine );
lay-> addMultiCellWidget ( f, i, i, 0, 3 );
i++;
}
buttoninfo *bi = new buttoninfo ( );
bi-> m_button = &(*it);
bi-> m_index = index++;
bi-> m_pmsg = (*it). pressedAction ( );
bi-> m_hmsg = (*it). heldAction ( );
bi-> m_pdirty = false;
bi-> m_hdirty = false;
- l = new QLabel ( this );
+ l = new QLabel ( framehold );
l-> setPixmap (( *it ). pixmap ( ));
lay-> addMultiCellWidget ( l, i, i + 1, 0, 0 );
- l = new QLabel ( tr( "Press:" ), this );
+ l = new QLabel ( tr( "Press:" ), framehold );
lay-> addWidget ( l, i, 1, AlignLeft | AlignBottom );
- l = new QLabel ( tr( "Hold:" ), this );
+ l = new QLabel ( tr( "Hold:" ), framehold );
lay-> addWidget ( l, i + 1, 1, AlignLeft | AlignTop );
- l = new QLabel ( this );
+ l = new QLabel ( framehold );
l-> setFixedSize ( 16, 16 );
lay-> addWidget ( l, i, 2, AlignLeft | AlignBottom );
bi-> m_picon = l;
- l = new QLabel ( this );
+ l = new QLabel ( framehold );
l-> setAlignment ( AlignLeft | AlignVCenter | SingleLine );
lay-> addWidget ( l, i, 3, AlignLeft | AlignBottom );
bi-> m_plabel = l;
- l = new QLabel ( this );
+ l = new QLabel ( framehold );
l-> setFixedSize ( 16, 16 );
lay-> addWidget ( l, i + 1, 2, AlignLeft | AlignTop );
bi-> m_hicon = l;
- l = new QLabel ( this );
+ l = new QLabel ( framehold );
l-> setAlignment ( AlignLeft | AlignVCenter | SingleLine );
lay-> addWidget ( l, i + 1, 3, AlignLeft | AlignTop );
bi-> m_hlabel = l;
i += 2;
m_infos. append ( bi );
}
toplay-> addStretch ( 10 );
m_last_button = 0;