summaryrefslogtreecommitdiff
path: root/noncore/settings/packagemanager/installdlg.cpp
Unidiff
Diffstat (limited to 'noncore/settings/packagemanager/installdlg.cpp') (more/less context) (ignore whitespace changes)
-rw-r--r--noncore/settings/packagemanager/installdlg.cpp34
1 files changed, 22 insertions, 12 deletions
diff --git a/noncore/settings/packagemanager/installdlg.cpp b/noncore/settings/packagemanager/installdlg.cpp
index 7dea591..36851b0 100644
--- a/noncore/settings/packagemanager/installdlg.cpp
+++ b/noncore/settings/packagemanager/installdlg.cpp
@@ -57,43 +57,43 @@ InstallDlg::InstallDlg( QWidget *parent, OPackageManager *pm, const QString &cap
57 , m_packman( pm ) 57 , m_packman( pm )
58 , m_installFound( false ) 58 , m_installFound( false )
59 , m_numCommands( 0 ) 59 , m_numCommands( 0 )
60 , m_currCommand( 0 ) 60 , m_currCommand( 0 )
61 , m_destItem( 0l ) 61 , m_destItem( 0l )
62{ 62{
63 // Save command/package list information 63 // Save command/package list information
64 if ( command1 != OPackage::NotDefined ) 64 if ( command1 != OPackage::NotDefined )
65 { 65 {
66 m_command[ m_numCommands ] = command1; 66 m_command[ m_numCommands ] = command1;
67 m_packages[ m_numCommands ] = packages1; 67 m_packages[ m_numCommands ] = packages1;
68 ++m_numCommands; 68 ++m_numCommands;
69 69
70 if ( command1 == OPackage::Install ) 70 if ( command1 == OPackage::Install )
71 m_installFound = true; 71 m_installFound = true;
72 } 72 }
73 if ( command2 != OPackage::NotDefined ) 73 if ( command2 != OPackage::NotDefined )
74 { 74 {
75 m_command[ m_numCommands ] = command2; 75 m_command[ m_numCommands ] = command2;
76 m_packages[ m_numCommands ] = packages2; 76 m_packages[ m_numCommands ] = packages2;
77 ++m_numCommands; 77 ++m_numCommands;
78 78
79 if ( command2 == OPackage::Install ) 79 if ( command2 == OPackage::Install )
80 m_installFound = true; 80 m_installFound = true;
81 } 81 }
82 if ( command3 != OPackage::NotDefined ) 82 if ( command3 != OPackage::NotDefined )
83 { 83 {
84 m_command[ m_numCommands ] = command3; 84 m_command[ m_numCommands ] = command3;
85 m_packages[ m_numCommands ] = packages3; 85 m_packages[ m_numCommands ] = packages3;
86 ++m_numCommands; 86 ++m_numCommands;
87 87
88 if ( command3 == OPackage::Install ) 88 if ( command3 == OPackage::Install )
89 m_installFound = true; 89 m_installFound = true;
90 } 90 }
91 91
92 // Initialize UI 92 // Initialize UI
93 if ( parent ) 93 if ( parent )
94 parent->setCaption( caption ); 94 parent->setCaption( caption );
95 95
96 QGridLayout *layout = new QGridLayout( this, 4, 2, 2, 4 ); 96 QGridLayout *layout = new QGridLayout( this, 4, 2, 2, 4 );
97 97
98 if ( m_installFound ) 98 if ( m_installFound )
99 { 99 {
@@ -120,29 +120,32 @@ InstallDlg::InstallDlg( QWidget *parent, OPackageManager *pm, const QString &cap
120 } 120 }
121 121
122 QGroupBox *groupBox = new QGroupBox( 0, Qt::Vertical, tr( "Output" ), this ); 122 QGroupBox *groupBox = new QGroupBox( 0, Qt::Vertical, tr( "Output" ), this );
123 groupBox->layout()->setSpacing( 0 ); 123 groupBox->layout()->setSpacing( 0 );
124 groupBox->layout()->setMargin( 4 ); 124 groupBox->layout()->setMargin( 4 );
125 125
126 QVBoxLayout *groupBoxLayout = new QVBoxLayout( groupBox->layout() ); 126 QVBoxLayout *groupBoxLayout = new QVBoxLayout( groupBox->layout() );
127 m_output = new QMultiLineEdit( groupBox ); 127 m_output = new QMultiLineEdit( groupBox );
128 m_output->setReadOnly( true ); 128 m_output->setReadOnly( true );
129 groupBoxLayout->addWidget( m_output ); 129 groupBoxLayout->addWidget( m_output );
130 layout->addMultiCellWidget( groupBox, 2, 2, 0, 1 ); 130 layout->addMultiCellWidget( groupBox, 2, 2, 0, 1 );
131 131
132 m_btnStart = new QPushButton( Resource::loadPixmap( "packagemanager/apply" ), tr( "Start" ), this ); 132 QPixmap pic;
133 pic.convertFromImage( Resource::loadImage( "packagemanager/apply" ).smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
134 m_btnStart = new QPushButton( pic, tr( "Start" ), this );
133 layout->addWidget( m_btnStart, 3, 0 ); 135 layout->addWidget( m_btnStart, 3, 0 );
134 connect( m_btnStart, SIGNAL(clicked()), this, SLOT(slotBtnStart()) ); 136 connect( m_btnStart, SIGNAL(clicked()), this, SLOT(slotBtnStart()) );
135 137
136 m_btnOptions = new QPushButton( Resource::loadPixmap( "SettingsIcon" ), tr( "Options" ), this ); 138 pic.convertFromImage( Resource::loadImage( "SettingsIcon" ).smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
139 m_btnOptions = new QPushButton( pic, tr( "Options" ), this );
137 layout->addWidget( m_btnOptions, 3, 1 ); 140 layout->addWidget( m_btnOptions, 3, 1 );
138 connect( m_btnOptions, SIGNAL( clicked() ), this, SLOT(slotBtnOptions()) ); 141 connect( m_btnOptions, SIGNAL( clicked() ), this, SLOT(slotBtnOptions()) );
139 142
140 // Display packages being acted upon in output widget 143 // Display packages being acted upon in output widget
141 for( int i = 0; i < m_numCommands; i++ ) 144 for( int i = 0; i < m_numCommands; i++ )
142 { 145 {
143 if ( !m_packages[ i ].isEmpty() ) 146 if ( !m_packages[ i ].isEmpty() )
144 { 147 {
145 QString lineStr = tr( "Packages to " ); 148 QString lineStr = tr( "Packages to " );
146 149
147 switch( m_command[ i ] ) 150 switch( m_command[ i ] )
148 { 151 {
@@ -208,68 +211,75 @@ void InstallDlg::slotDisplayAvailSpace( const QString &destination )
208} 211}
209 212
210void InstallDlg::slotBtnStart() 213void InstallDlg::slotBtnStart()
211{ 214{
212 QString btnText = m_btnStart->text(); 215 QString btnText = m_btnStart->text();
213 if ( btnText == tr( "Abort" ) ) 216 if ( btnText == tr( "Abort" ) )
214 { 217 {
215 // Prevent unexecuted commands from executing 218 // Prevent unexecuted commands from executing
216 m_currCommand = 999; 219 m_currCommand = 999;
217 220
218 // Allow user to close dialog 221 // Allow user to close dialog
219 m_btnStart->setText( tr( "Close" ) ); 222 m_btnStart->setText( tr( "Close" ) );
220 m_btnStart->setIconSet( Resource::loadPixmap( "enter" ) ); 223 QPixmap pic;
224 pic.convertFromImage( Resource::loadImage( "enter" ).smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
225 m_btnStart->setIconSet( pic );
221 return; 226 return;
222 } 227 }
223 else if ( btnText == tr( "Close" ) ) 228 else if ( btnText == tr( "Close" ) )
224 { 229 {
225 // TODO - force reload of package data 230 // TODO - force reload of package data
226 emit closeInstallDlg(); 231 emit closeInstallDlg();
227 return; 232 return;
228 } 233 }
229 234
230 // Start was clicked, start executing 235 // Start was clicked, start executing
231 QString dest; 236 QString dest;
232 if ( m_installFound ) 237 if ( m_installFound )
233 { 238 {
234 dest = m_destination->currentText(); 239 dest = m_destination->currentText();
235 m_destination->setEnabled( false ); 240 m_destination->setEnabled( false );
236 } 241 }
237 242
238 m_btnOptions->setEnabled( false ); 243 m_btnOptions->setEnabled( false );
239 if ( m_numCommands > 1 ) 244 if ( m_numCommands > 1 )
240 { 245 {
241 m_btnStart->setText( tr( "Abort" ) ); 246 m_btnStart->setText( tr( "Abort" ) );
242 m_btnStart->setIconSet( Resource::loadPixmap( "close" ) ); 247 QPixmap pic;
248 pic.convertFromImage( Resource::loadImage( "close" ).smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
249 m_btnStart->setIconSet( pic );
243 } 250 }
244 else 251 else
245 { 252 {
246 m_btnStart->setEnabled( false ); 253 m_btnStart->setEnabled( false );
247 } 254 }
248 255
249 for ( m_currCommand = 0; m_currCommand < m_numCommands; m_currCommand++ ) 256 for ( m_currCommand = 0; m_currCommand < m_numCommands; m_currCommand++ )
250 { 257 {
251 // Execute next command 258 // Execute next command
252 m_packman->executeCommand( m_command[ m_currCommand ], m_packages[ m_currCommand ], dest, 259 m_packman->executeCommand( m_command[ m_currCommand ], m_packages[ m_currCommand ], dest,
253 this, SLOT(slotOutput(const QString &)), true ); 260 this, SLOT(slotOutput(const QString &)), true );
254 } 261 }
255 262
256 // All commands executed, allow user to close dialog 263 // All commands executed, allow user to close dialog
257 m_btnStart->setEnabled( true ); 264 m_btnStart->setEnabled( true );
258 m_btnStart->setText( tr( "Close" ) ); 265 m_btnStart->setText( tr( "Close" ) );
259 m_btnStart->setIconSet( Resource::loadPixmap( "enter" ) ); 266 QPixmap pic;
267 pic.convertFromImage( Resource::loadImage( "enter" ).smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
268 m_btnStart->setIconSet( pic );
260 269
261 m_btnOptions->setEnabled( true ); 270 m_btnOptions->setEnabled( true );
262 m_btnOptions->setText( tr( "Save output" ) ); 271 m_btnOptions->setText( tr( "Save output" ) );
263 m_btnOptions->setIconSet( Resource::loadPixmap( "save" ) ); 272 pic.convertFromImage( Resource::loadImage( "save" ).smoothScale( AppLnk::smallIconSize(), AppLnk::smallIconSize() ) );
273 m_btnOptions->setIconSet( pic );
264} 274}
265 275
266void InstallDlg::slotBtnOptions() 276void InstallDlg::slotBtnOptions()
267{ 277{
268 QString btnText = m_btnOptions->text(); 278 QString btnText = m_btnOptions->text();
269 if ( btnText == tr( "Options" ) ) 279 if ( btnText == tr( "Options" ) )
270 { 280 {
271 // Display configuration dialog (only options tab is enabled) 281 // Display configuration dialog (only options tab is enabled)
272 m_packman->configureDlg( true ); 282 m_packman->configureDlg( true );
273 return; 283 return;
274 } 284 }
275 285
@@ -296,16 +306,16 @@ void InstallDlg::slotBtnOptions()
296} 306}
297 307
298void InstallDlg::slotOutput( const QString &msg ) 308void InstallDlg::slotOutput( const QString &msg )
299{ 309{
300 // Allow processing of other events 310 // Allow processing of other events
301 qApp->processEvents(); 311 qApp->processEvents();
302 312
303 QString lineStr = msg; 313 QString lineStr = msg;
304 if ( lineStr[lineStr.length()-1] == '\n' ) 314 if ( lineStr[lineStr.length()-1] == '\n' )
305 lineStr.truncate( lineStr.length() - 1 ); 315 lineStr.truncate( lineStr.length() - 1 );
306 m_output->append( lineStr ); 316 m_output->append( lineStr );
307 m_output->setCursorPosition( m_output->numLines(), 0 ); 317 m_output->setCursorPosition( m_output->numLines(), 0 );
308 318
309 // Update available space 319 // Update available space
310 slotDisplayAvailSpace( QString::null ); 320 slotDisplayAvailSpace( QString::null );
311} 321}