1
0
mirror of https://github.com/tomahawk-player/tomahawk.git synced 2025-08-12 09:04:33 +02:00

Added "add-contact" icon and removed tweet sending from accounts widget.

This commit is contained in:
Teo Mrnjavac
2012-08-14 11:46:13 +02:00
parent a1752182c5
commit 47a38a9718
5 changed files with 20 additions and 38 deletions

BIN
data/images/add-contact.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@@ -150,5 +150,6 @@
<file>data/images/scrollbar-horizontal-handle.png</file> <file>data/images/scrollbar-horizontal-handle.png</file>
<file>data/images/subscribe-on.png</file> <file>data/images/subscribe-on.png</file>
<file>data/images/subscribe-off.png</file> <file>data/images/subscribe-off.png</file>
<file>data/images/add-contact.png</file>
</qresource> </qresource>
</RCC> </RCC>

View File

@@ -87,54 +87,42 @@ AccountWidget::AccountWidget( QWidget* parent )
m_statusToggle = new SlideSwitchButton( this ); m_statusToggle = new SlideSwitchButton( this );
m_statusToggle->setContentsMargins( 0, 0, 0, 0 ); m_statusToggle->setContentsMargins( 0, 0, 0, 0 );
m_statusToggle->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Expanding ); m_statusToggle->setSizePolicy( QSizePolicy::Preferred, QSizePolicy::Expanding );
m_statusToggle->setFixedWidth( m_statusToggle->sizeHint().width() ); m_statusToggle->setFixedSize( m_statusToggle->sizeHint() );
QHBoxLayout *statusToggleLayout = new QHBoxLayout( this ); QHBoxLayout *statusToggleLayout = new QHBoxLayout( this );
vLayout->addLayout( statusToggleLayout, 0, 1, 1, 1 ); vLayout->addLayout( statusToggleLayout, 0, 1, 1, 1 );
statusToggleLayout->addStretch(); statusToggleLayout->addStretch();
statusToggleLayout->addWidget( m_statusToggle ); statusToggleLayout->addWidget( m_statusToggle );
//vLayout->addWidget( m_statusToggle, 0, 1 ); //vLayout->addWidget( m_statusToggle, 0, 1 );
UnstyledFrame* inviteContainer = new UnstyledFrame( this ); m_inviteContainer = new UnstyledFrame( this );
vLayout->addWidget( inviteContainer, 1, 0 ); vLayout->addWidget( m_inviteContainer, 1, 0 );
inviteContainer->setFrameColor( QColor( 0x8c, 0x8c, 0x8c ) ); //from ProxyStyle m_inviteContainer->setFrameColor( QColor( 0x8c, 0x8c, 0x8c ) ); //from ProxyStyle
inviteContainer->setFixedWidth( inviteContainer->logicalDpiX() * 2 ); m_inviteContainer->setFixedWidth( m_inviteContainer->logicalDpiX() * 2 );
inviteContainer->setContentsMargins( 1, 1, 1, 2 ); m_inviteContainer->setContentsMargins( 1, 1, 1, 2 );
inviteContainer->setAttribute( Qt::WA_TranslucentBackground, false ); m_inviteContainer->setAttribute( Qt::WA_TranslucentBackground, false );
inviteContainer->setStyleSheet( "background: white" ); m_inviteContainer->setStyleSheet( "background: white" );
QHBoxLayout* containerLayout = new QHBoxLayout( inviteContainer ); QHBoxLayout* containerLayout = new QHBoxLayout( m_inviteContainer );
inviteContainer->setLayout( containerLayout ); m_inviteContainer->setLayout( containerLayout );
TomahawkUtils::unmarginLayout( containerLayout ); TomahawkUtils::unmarginLayout( containerLayout );
containerLayout->setContentsMargins( 1, 1, 0, 0 ); containerLayout->setContentsMargins( 1, 1, 0, 0 );
m_addAccountIcon = new QLabel( inviteContainer ); m_addAccountIcon = new QLabel( m_inviteContainer );
m_addAccountIcon->setContentsMargins( 1, 0, 0, 0 ); m_addAccountIcon->setContentsMargins( 1, 0, 0, 0 );
m_addAccountIcon->setPixmap( QIcon( RESPATH "images/user-avatar.png" ).pixmap( 16 ) ); m_addAccountIcon->setPixmap( QIcon( RESPATH "images/add-contact.png" ).pixmap( 16 ) );
m_addAccountIcon->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding ); m_addAccountIcon->setSizePolicy( QSizePolicy::Minimum, QSizePolicy::Expanding );
m_addAccountIcon->setAlignment( Qt::AlignCenter ); m_addAccountIcon->setAlignment( Qt::AlignCenter );
containerLayout->addWidget( m_addAccountIcon ); containerLayout->addWidget( m_addAccountIcon );
m_tweetMenuButton = new QToolButton( inviteContainer ); m_inviteEdit = new QLineEdit( m_inviteContainer );
m_tweetMenuButton->setContentsMargins( 1, 0, 0, 0 );
m_tweetMenuButton->setIcon( QIcon( RESPATH "images/jump-link.png" ) );
m_tweetMenuButton->setToolButtonStyle( Qt::ToolButtonIconOnly );
m_tweetMenuButton->setPopupMode( QToolButton::InstantPopup );
m_tweetMenuButton->setMenu( new QMenu() );
m_tweetMenuButton->setSizePolicy( QSizePolicy::Fixed, QSizePolicy::Expanding );
m_tweetMenuButton->setFixedWidth( m_tweetMenuButton->sizeHint().height() ); //accommodate the menu indicator
QString tweetMenuButtonSheet(
"QToolButton { border: none; backgroud: white; }"
"QToolButton::menu-indicator { left: 3px; }" );
m_tweetMenuButton->setStyleSheet( tweetMenuButtonSheet );
containerLayout->addWidget( m_tweetMenuButton );
m_inviteEdit = new QLineEdit( inviteContainer );
m_inviteEdit->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding ); m_inviteEdit->setSizePolicy( QSizePolicy::Expanding, QSizePolicy::Expanding );
containerLayout->addWidget( m_inviteEdit ); containerLayout->addWidget( m_inviteEdit );
m_inviteEdit->setFrame( false ); m_inviteEdit->setFrame( false );
idContainer->setFixedWidth( m_inviteContainer->width() );
m_inviteButton = new QPushButton( this ); m_inviteButton = new QPushButton( this );
m_inviteButton->setFixedWidth( m_inviteButton->logicalDpiX() * 0.8 ); m_inviteButton->setFixedWidth( m_inviteButton->logicalDpiX() * 0.8 );
m_inviteButton->setText( tr( "Invite" ) );
vLayout->addWidget( m_inviteButton, 1, 1 ); vLayout->addWidget( m_inviteButton, 1, 1 );
} }
@@ -171,15 +159,8 @@ AccountWidget::update( const QPersistentModelIndex& idx, int accountIdx )
.value< QObject* >() ); .value< QObject* >() );
if ( fac->factoryId() == "twitteraccount" ) if ( fac->factoryId() == "twitteraccount" )
{ {
m_inviteButton->setText( tr( "Tweet" ) ); m_inviteContainer->setVisible( false );
m_addAccountIcon->setVisible( false ); m_inviteButton->setVisible( false );
m_tweetMenuButton->setVisible( true );
}
else
{
m_inviteButton->setText( tr( "Invite" ) );
m_tweetMenuButton->setVisible( false );
m_addAccountIcon->setVisible( true );
} }
switch ( account->connectionState() ) switch ( account->connectionState() )

View File

@@ -25,6 +25,7 @@
class AnimatedSpinner; class AnimatedSpinner;
class ElidedLabel; class ElidedLabel;
class SlideSwitchButton; class SlideSwitchButton;
class UnstyledFrame;
class QLabel; class QLabel;
class QLineEdit; class QLineEdit;
class QPushButton; class QPushButton;
@@ -52,8 +53,8 @@ private:
SlideSwitchButton* m_statusToggle; SlideSwitchButton* m_statusToggle;
QLineEdit* m_inviteEdit; QLineEdit* m_inviteEdit;
QPushButton* m_inviteButton; QPushButton* m_inviteButton;
UnstyledFrame* m_inviteContainer;
QLabel* m_addAccountIcon; QLabel* m_addAccountIcon;
QToolButton* m_tweetMenuButton;
QPersistentModelIndex m_myFactoryIdx; QPersistentModelIndex m_myFactoryIdx;
int m_myAccountIdx; int m_myAccountIdx;

View File

@@ -67,7 +67,6 @@ QSize
SlideSwitchButton::sizeHint() SlideSwitchButton::sizeHint()
{ {
QSize size = QPushButton::sizeHint(); QSize size = QPushButton::sizeHint();
size.rheight() += 6; //margins
QFontMetrics fm( m_textFont ); QFontMetrics fm( m_textFont );
int maxTextLength = qMax( fm.boundingRect( m_checkedText ).width(), int maxTextLength = qMax( fm.boundingRect( m_checkedText ).width(),
fm.boundingRect( m_uncheckedText ).width() ); fm.boundingRect( m_uncheckedText ).width() );