@ -272,8 +272,8 @@ void LayoutManager::restore()
QList < QObject * > applets = m_plasmoid - > property ( " applets " ) . value < QList < QObject * > > ( ) ;
QList < QObject * > applets = m_plasmoid - > property ( " applets " ) . value < QList < QObject * > > ( ) ;
Latte : : Types : : Alignment alignment = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " alignment " ] . toInt ( ) ) ;
Latte : : Types : : Alignment alignment = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " alignment " ] . toInt ( ) ) ;
int splitterPosition = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " splitterPosition " ] . toInt ( ) ) ;
int splitterPosition = ( * m_configuration ) [ " splitterPosition " ] . toInt ( ) ;
int splitterPosition2 = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " splitterPosition2 " ] . toInt ( ) ) ;
int splitterPosition2 = ( * m_configuration ) [ " splitterPosition2 " ] . toInt ( ) ;
QList < int > appletIdsOrder ;
QList < int > appletIdsOrder ;
for ( int i = 0 ; i < appletStringIdsOrder . count ( ) ; + + i ) {
for ( int i = 0 ; i < appletStringIdsOrder . count ( ) ; + + i ) {
@ -506,8 +506,8 @@ void LayoutManager::save()
setSplitterPosition ( startChilds + 1 ) ;
setSplitterPosition ( startChilds + 1 ) ;
setSplitterPosition2 ( startChilds + 1 + mainChilds + 1 ) ;
setSplitterPosition2 ( startChilds + 1 + mainChilds + 1 ) ;
} else {
} else {
int splitterPosition = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " splitterPosition " ] . toInt ( ) ) ;
int splitterPosition = ( * m_configuration ) [ " splitterPosition " ] . toInt ( ) ;
int splitterPosition2 = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " splitterPosition2 " ] . toInt ( ) ) ;
int splitterPosition2 = ( * m_configuration ) [ " splitterPosition2 " ] . toInt ( ) ;
setSplitterPosition ( splitterPosition ) ;
setSplitterPosition ( splitterPosition ) ;
setSplitterPosition2 ( splitterPosition2 ) ;
setSplitterPosition2 ( splitterPosition2 ) ;
@ -699,6 +699,41 @@ void LayoutManager::insertAtCoordinates(QQuickItem *item, const int &x, const in
}
}
}
}
void LayoutManager : : addAppletItem ( QObject * applet , int x , int y )
{
if ( ! m_startLayout | | ! m_mainLayout | | ! m_endLayout ) {
return ;
}
QVariant appletItemVariant ;
QVariant appletVariant ; appletVariant . setValue ( applet ) ;
m_createAppletItemMethod . invoke ( m_rootItem , Q_RETURN_ARG ( QVariant , appletItemVariant ) , Q_ARG ( QVariant , appletVariant ) ) ;
QQuickItem * appletItem = appletItemVariant . value < QQuickItem * > ( ) ;
if ( m_dndSpacer - > parentItem ( ) = = m_mainLayout
| | m_dndSpacer - > parentItem ( ) = = m_startLayout
| | m_dndSpacer - > parentItem ( ) = = m_endLayout ) {
insertBefore ( m_dndSpacer , appletItem ) ;
QQuickItem * currentlayout = m_dndSpacer - > parentItem ( ) ;
m_dndSpacer - > setParentItem ( m_rootItem ) ;
if ( currentlayout = = m_startLayout ) {
reorderSplitterInStartLayout ( ) ;
} else if ( currentlayout = = m_endLayout ) {
reorderSplitterInEndLayout ( ) ;
}
} else if ( x > = 0 & & y > = 0 ) {
// If the provided position is valid, use it.
insertAtCoordinates ( appletItem , x , y ) ;
} else {
// Fall through to adding at the end of main layout.
appletItem - > setParentItem ( m_mainLayout ) ;
}
save ( ) ;
}
void LayoutManager : : removeAppletItem ( QObject * applet )
void LayoutManager : : removeAppletItem ( QObject * applet )
{
{
if ( ! m_startLayout | | ! m_mainLayout | | ! m_endLayout ) {
if ( ! m_startLayout | | ! m_mainLayout | | ! m_endLayout ) {
@ -728,6 +763,66 @@ void LayoutManager::removeAppletItem(QObject *applet)
}
}
}
}
}
}
save ( ) ;
}
void LayoutManager : : reorderSplitterInStartLayout ( )
{
Latte : : Types : : Alignment alignment = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " alignment " ] . toInt ( ) ) ;
if ( alignment ! = Latte : : Types : : Justify ) {
return ;
}
int size = m_startLayout - > childItems ( ) . count ( ) ;
if ( size > 0 ) {
QQuickItem * splitter { nullptr } ;
for ( int i = 0 ; i < size ; + + i ) {
QQuickItem * item = m_startLayout - > childItems ( ) [ i ] ;
bool issplitter = item - > property ( " isInternalViewSplitter " ) . toBool ( ) ;
if ( issplitter & & i < size - 1 ) {
splitter = item ;
break ;
}
}
if ( splitter ) {
insertAfter ( m_startLayout - > childItems ( ) [ size - 1 ] , splitter ) ;
}
}
}
void LayoutManager : : reorderSplitterInEndLayout ( )
{
Latte : : Types : : Alignment alignment = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " alignment " ] . toInt ( ) ) ;
if ( alignment ! = Latte : : Types : : Justify ) {
return ;
}
int size = m_endLayout - > childItems ( ) . count ( ) ;
if ( size > 0 ) {
QQuickItem * splitter { nullptr } ;
for ( int i = 0 ; i < size ; + + i ) {
QQuickItem * item = m_endLayout - > childItems ( ) [ i ] ;
bool issplitter = item - > property ( " isInternalViewSplitter " ) . toBool ( ) ;
if ( issplitter & & i ! = 0 ) {
splitter = item ;
break ;
}
}
if ( splitter ) {
insertBefore ( m_endLayout - > childItems ( ) [ 0 ] , splitter ) ;
}
}
}
}
void LayoutManager : : addJustifySplittersInMainLayout ( )
void LayoutManager : : addJustifySplittersInMainLayout ( )
@ -738,8 +833,8 @@ void LayoutManager::addJustifySplittersInMainLayout()
destroyJustifySplitters ( ) ;
destroyJustifySplitters ( ) ;
int splitterPosition = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " splitterPosition " ] . toInt ( ) ) ;
int splitterPosition = ( * m_configuration ) [ " splitterPosition " ] . toInt ( ) ;
int splitterPosition2 = static_cast < Latte : : Types : : Alignment > ( ( * m_configuration ) [ " splitterPosition2 " ] . toInt ( ) ) ;
int splitterPosition2 = ( * m_configuration ) [ " splitterPosition2 " ] . toInt ( ) ;
int splitterIndex = ( splitterPosition > = 1 ? splitterPosition - 1 : - 1 ) ;
int splitterIndex = ( splitterPosition > = 1 ? splitterPosition - 1 : - 1 ) ;
int splitterIndex2 = ( splitterPosition2 > = 1 ? splitterPosition2 - 1 : - 1 ) ;
int splitterIndex2 = ( splitterPosition2 > = 1 ? splitterPosition2 - 1 : - 1 ) ;