예제 #1
0
static void eee_accounts_manager_init(EeeAccountsManager *self)
{
    self->priv = G_TYPE_INSTANCE_GET_PRIVATE(self, EEE_TYPE_ACCOUNTS_MANAGER, EeeAccountsManagerPriv);

    self->priv->gconf = gconf_client_get_default();
    self->priv->ealist = e_account_list_new(self->priv->gconf);
    self->priv->eslist = e_source_list_new_for_gconf(self->priv->gconf, CALENDAR_SOURCES);

    eee_accounts_manager_load_access_accounts_list(self);
    eee_accounts_manager_activate_accounts(self);

    g_signal_connect(self->priv->ealist, "account_added", G_CALLBACK(account_list_changed), self);
    g_signal_connect(self->priv->ealist, "account_changed", G_CALLBACK(account_list_changed), self);
    g_signal_connect(self->priv->ealist, "account_removed", G_CALLBACK(account_list_changed), self);

    if (!eee_plugin_online)
    {
        self->priv->sync_request = SYNC_REQ_PAUSE;
    }
    else
    {
        self->priv->sync_request = SYNC_REQ_START;
    }

    self->priv->sync_thread = g_thread_create(sync_thread_func, self, FALSE, NULL);
}
예제 #2
0
MeeGo::ActiveSync::ConfigModel::ConfigModel(QObject* parent)
  : QAbstractListModel(parent)
  , m_configs()
  , m_email_accounts(0)
{
  QHash<int, QByteArray> roles;
  roles[EmailAddressRole] = "email";
  roles[UsernameRole]     = "username";
  roles[PasswordRole]     = "password";
  roles[ServerUrlRole]    = "serverUrl";
  setRoleNames(roles);

  // Initialize the Glib type system
  g_type_init ();

  // Retrieve e-mail accounts.
  GConfClient * const client = gconf_client_get_default();
  m_email_accounts = e_account_list_new(client);
  g_object_unref(client);

  // Retrieve the activesyncd configurations from GConf.
  MGConfItem accounts(MeeGo::ActiveSync::KEY_BASE);
  QList<QString> const keys = accounts.listDirs();

  typedef QList<QString>::const_iterator const_iterator;
  const_iterator const end = keys.end();
  for (const_iterator i = keys.begin(); i != end; ++i) {
    QString const & key = *i;
    if (!key.isEmpty()) {
      // Retrieve the e-mail from the key.
      // @todo There has to be a better way to do this!
      QString const email = key.right(key.count() - key.lastIndexOf("/") - 1);
      m_configs.append(new Config(email, m_email_accounts));
    }
  }

  // --------------------------------------------------
  // Retrieve ActiveSync calendar and contacts accounts
  // --------------------------------------------------
  // @todo ...
}