~ubuntu-branches/ubuntu/oneiric/cairo-dock/oneiric

« back to all changes in this revision

Viewing changes to src/gldit/cairo-dock-dock-manager.c

  • Committer: Bazaar Package Importer
  • Author(s): Matthieu Baerts (matttbe)
  • Date: 2010-09-07 20:31:25 UTC
  • mto: (18.1.1 cairo-dock) (19.1.1 cairo-dock)
  • mto: This revision was merged to the branch mainline in revision 14.
  • Revision ID: james.westby@ubuntu.com-20100907203125-a91ch8odv2r6ziic
Tags: upstream-2.2.0~0rc1
ImportĀ upstreamĀ versionĀ 2.2.0~0rc1

Show diffs side-by-side

added added

removed removed

Lines of Context:
253
253
        g_hash_table_remove (s_hDocksTable, cDockName);
254
254
        s_pRootDockList = g_list_remove (s_pRootDockList, pDock);
255
255
        
256
 
        cairo_dock_free_dock (pDock);
257
 
        
258
256
        // s'il etait en train de scruter la souris, on l'arrete.
259
257
        if (pDock->iVisibility == CAIRO_DOCK_VISI_AUTO_HIDE_ON_OVERLAP ||
260
258
                pDock->iVisibility == CAIRO_DOCK_VISI_AUTO_HIDE_ON_OVERLAP_ANY ||
264
262
                cairo_dock_stop_polling_screen_edge ();
265
263
        }
266
264
        
 
265
        cairo_dock_free_dock (pDock);
 
266
        
267
267
        cairo_dock_trigger_refresh_launcher_gui ();
268
268
}
269
269
 
298
298
 
299
299
 
300
300
 
301
 
static gboolean _cairo_dock_search_dock_name_from_subdock (gchar *cDockName, CairoDock *pDock, gpointer *data)
 
301
static gboolean _check_dock_match (gchar *cDockName, CairoDock *pDock, gpointer *data)
302
302
{
303
303
        if (pDock == data[0])
304
304
        {
313
313
        gchar *cDockName = NULL;
314
314
        gpointer data[2] = {pDock, &cDockName};
315
315
 
316
 
        g_hash_table_find (s_hDocksTable, (GHRFunc)_cairo_dock_search_dock_name_from_subdock, data);
 
316
        g_hash_table_find (s_hDocksTable, (GHRFunc)_check_dock_match, data);
317
317
        return cDockName;
318
318
}
319
319
 
738
738
        g_free (cConfFilePath);
739
739
}
740
740
 
741
 
gchar *cairo_dock_add_root_dock_config (void)
 
741
void cairo_dock_add_root_dock_config_for_name (const gchar *cDockName)
742
742
{
743
 
        // on genere un nom unique.
744
 
        gchar *cValidDockName = cairo_dock_get_unique_dock_name (CAIRO_DOCK_MAIN_DOCK_NAME);  // meme nom que le main dock avec un numero en plus, plus facile pour les reperer.
745
 
        
746
743
        // on cree le fichier de conf a partir du template.
747
 
        gchar *cConfFilePath = g_strdup_printf ("%s/%s.conf", g_cCurrentThemePath, cValidDockName);
 
744
        gchar *cConfFilePath = g_strdup_printf ("%s/%s.conf", g_cCurrentThemePath, cDockName);
748
745
        gchar *cCommand = g_strdup_printf ("cp '%s/%s' '%s'", CAIRO_DOCK_SHARE_DATA_DIR, CAIRO_DOCK_MAIN_DOCK_CONF_FILE, cConfFilePath);
749
746
        int r = system (cCommand);
750
747
        g_free (cCommand);
761
758
                g_pMainDock->iNumScreen,
762
759
                G_TYPE_INVALID);
763
760
        g_free (cConfFilePath);
 
761
}
 
762
 
 
763
gchar *cairo_dock_add_root_dock_config (void)
 
764
{
 
765
        // on genere un nom unique.
 
766
        gchar *cValidDockName = cairo_dock_get_unique_dock_name (CAIRO_DOCK_MAIN_DOCK_NAME);  // meme nom que le main dock avec un numero en plus, plus facile pour les reperer.
 
767
        
 
768
        // on genere un fichier de conf pour ce nom.
 
769
        cairo_dock_add_root_dock_config_for_name (cValidDockName);
764
770
        
765
771
        return cValidDockName;
766
772
}