mirror of
https://github.com/tomahawk-player/tomahawk.git
synced 2025-08-02 12:20:45 +02:00
open config dialogs as a sheet on osx, and call gmail google
This commit is contained in:
@@ -26,7 +26,7 @@ class DelegateConfigWrapper : public QDialog
|
|||||||
{
|
{
|
||||||
Q_OBJECT
|
Q_OBJECT
|
||||||
public:
|
public:
|
||||||
DelegateConfigWrapper( QWidget* conf, const QString& title, QWidget* parent ) : QDialog( parent ), m_widget( conf )
|
DelegateConfigWrapper( QWidget* conf, const QString& title, QWidget* parent, Qt::WindowFlags flags = 0 ) : QDialog( parent, flags ), m_widget( conf )
|
||||||
{
|
{
|
||||||
m_widget->setVisible( true );
|
m_widget->setVisible( true );
|
||||||
m_widget->setWindowFlags( Qt::Sheet );
|
m_widget->setWindowFlags( Qt::Sheet );
|
||||||
|
@@ -468,6 +468,7 @@ SettingsDialog::openResolverConfig( const QString& resolver )
|
|||||||
{
|
{
|
||||||
Tomahawk::ExternalResolver* r = TomahawkApp::instance()->resolverForPath( resolver );
|
Tomahawk::ExternalResolver* r = TomahawkApp::instance()->resolverForPath( resolver );
|
||||||
if( r && r->configUI() ) {
|
if( r && r->configUI() ) {
|
||||||
|
#ifndef Q_OS_MAC
|
||||||
DelegateConfigWrapper dialog( r->configUI(), "Resolver Configuration", this );
|
DelegateConfigWrapper dialog( r->configUI(), "Resolver Configuration", this );
|
||||||
QWeakPointer< DelegateConfigWrapper > watcher( &dialog );
|
QWeakPointer< DelegateConfigWrapper > watcher( &dialog );
|
||||||
int ret = dialog.exec();
|
int ret = dialog.exec();
|
||||||
@@ -475,6 +476,25 @@ SettingsDialog::openResolverConfig( const QString& resolver )
|
|||||||
// send changed config to resolver
|
// send changed config to resolver
|
||||||
r->saveConfig();
|
r->saveConfig();
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
// on osx a sheet needs to be non-modal
|
||||||
|
DelegateConfigWrapper* dialog = new DelegateConfigWrapper( r->configUI(), "Resolver Configuration", this, Qt::Sheet );
|
||||||
|
dialog->setProperty( "resolver", QVariant::fromValue< QObject* >( r ) );
|
||||||
|
connect( dialog, SIGNAL( finished( int ) ), this, SLOT( resolverConfigClosed( int ) ) );
|
||||||
|
|
||||||
|
dialog->show();
|
||||||
|
#endif
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
SettingsDialog::resolverConfigClosed( int value )
|
||||||
|
{
|
||||||
|
if( value == QDialog::Accepted ) {
|
||||||
|
DelegateConfigWrapper* dialog = qobject_cast< DelegateConfigWrapper* >( sender() );
|
||||||
|
Tomahawk::ExternalResolver* r = qobject_cast< Tomahawk::ExternalResolver* >( dialog->property( "resolver" ).value< QObject* >() );
|
||||||
|
r->saveConfig();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -494,13 +514,33 @@ void
|
|||||||
SettingsDialog::openSipConfig( SipPlugin* p )
|
SettingsDialog::openSipConfig( SipPlugin* p )
|
||||||
{
|
{
|
||||||
if( p->configWidget() ) {
|
if( p->configWidget() ) {
|
||||||
DelegateConfigWrapper dialog( p->configWidget(), QString("%1 Config" ).arg( p->friendlyName() ), this );
|
#ifndef Q_OS_MAC
|
||||||
|
DelegateConfigWrapper dialog( p->configWidget(), QString("%1 Configuration" ).arg( p->friendlyName() ), this );
|
||||||
QWeakPointer< DelegateConfigWrapper > watcher( &dialog );
|
QWeakPointer< DelegateConfigWrapper > watcher( &dialog );
|
||||||
int ret = dialog.exec();
|
int ret = dialog.exec();
|
||||||
if( !watcher.isNull() && ret == QDialog::Accepted ) {
|
if( !watcher.isNull() && ret == QDialog::Accepted ) {
|
||||||
// send changed config to resolver
|
// send changed config to resolver
|
||||||
p->saveConfig();
|
p->saveConfig();
|
||||||
}
|
}
|
||||||
|
#else
|
||||||
|
// on osx a sheet needs to be non-modal
|
||||||
|
DelegateConfigWrapper* dialog = new DelegateConfigWrapper( p->configWidget(), QString("%1 Configuration" ).arg( p->friendlyName() ), this, Qt::Sheet );
|
||||||
|
dialog->setProperty( "sipplugin", QVariant::fromValue< QObject* >( p ) );
|
||||||
|
connect( dialog, SIGNAL( finished( int ) ), this, SLOT( sipConfigClosed( int ) ) );
|
||||||
|
|
||||||
|
dialog->show();
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
SettingsDialog::sipConfigClosed( int value )
|
||||||
|
{
|
||||||
|
if( value == QDialog::Accepted ) {
|
||||||
|
DelegateConfigWrapper* dialog = qobject_cast< DelegateConfigWrapper* >( sender() );
|
||||||
|
SipPlugin* p = qobject_cast< SipPlugin* >( dialog->property( "sipplugin" ).value< QObject* >() );
|
||||||
|
p->saveConfig();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -87,6 +87,10 @@ private slots:
|
|||||||
void sipPluginDeleted( bool );
|
void sipPluginDeleted( bool );
|
||||||
void sipPluginRowDeleted( bool );
|
void sipPluginRowDeleted( bool );
|
||||||
|
|
||||||
|
// dialog slots
|
||||||
|
void resolverConfigClosed( int value );
|
||||||
|
void sipConfigClosed( int value );
|
||||||
|
|
||||||
void changePage( QListWidgetItem*, QListWidgetItem* );
|
void changePage( QListWidgetItem*, QListWidgetItem* );
|
||||||
|
|
||||||
private:
|
private:
|
||||||
|
@@ -38,8 +38,8 @@ GoogleWrapper::GoogleWrapper ( const QString& pluginID )
|
|||||||
: JabberPlugin ( pluginID )
|
: JabberPlugin ( pluginID )
|
||||||
{
|
{
|
||||||
m_ui->headerLabel->setText( tr( "Configure this Google Account" ) );
|
m_ui->headerLabel->setText( tr( "Configure this Google Account" ) );
|
||||||
m_ui->emailLabel->setText( tr( "GMail Address" ) );
|
m_ui->emailLabel->setText( tr( "Google Address" ) );
|
||||||
m_ui->jabberBlurb->setText( tr( "Enter your GMail login to connect with your friends using Tomahawk!" ) );
|
m_ui->jabberBlurb->setText( tr( "Enter your Google login to connect with your friends using Tomahawk!" ) );
|
||||||
m_ui->logoLabel->setPixmap( QPixmap( ":/gmail-logo.png" ) );
|
m_ui->logoLabel->setPixmap( QPixmap( ":/gmail-logo.png" ) );
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user