/* -*- Mode: C; tab-width: 8; indent-tabs-mode: t; c-basic-offset: 8 -*- */ /* * Author : * JP Rosevear * * Copyright 2003, Ximian, Inc. * * This program is free software; you can redistribute it and/or * modify it under the terms of version 2 of the GNU General Public * License as published by the Free Software Foundation. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 * USA */ #include "calendar-config.h" #include "e-date-edit-config.h" struct _EDateEditConfigPrivate { EDateEdit *edit; GList *notifications; }; static GObjectClass *parent_class = NULL; /* Property IDs */ enum props { PROP_0, PROP_EDIT, }; static void e_date_edit_config_set_property (GObject *object, guint property_id, const GValue *value, GParamSpec *pspec) { EDateEditConfig *edit_config; EDateEditConfigPrivate *priv; edit_config = E_DATE_EDIT_CONFIG (object); priv = edit_config->priv; switch (property_id) { case PROP_EDIT: e_date_edit_config_set_edit (edit_config, g_value_get_object (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void e_date_edit_config_get_property (GObject *object, guint property_id, GValue *value, GParamSpec *pspec) { EDateEditConfig *edit_config; EDateEditConfigPrivate *priv; edit_config = E_DATE_EDIT_CONFIG (object); priv = edit_config->priv; switch (property_id) { case PROP_EDIT: g_value_set_object (value, e_date_edit_config_get_edit (edit_config)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec); break; } } static void e_date_edit_config_dispose (GObject *object) { EDateEditConfig *edit_config = E_DATE_EDIT_CONFIG (object); EDateEditConfigPrivate *priv; priv = edit_config->priv; e_date_edit_config_set_edit (edit_config, NULL); if (G_OBJECT_CLASS (parent_class)->dispose) G_OBJECT_CLASS (parent_class)->dispose (object); } static void e_date_edit_config_finalize (GObject *object) { EDateEditConfig *edit_config = E_DATE_EDIT_CONFIG (object); EDateEditConfigPrivate *priv; priv = edit_config->priv; g_free (priv); if (G_OBJECT_CLASS (parent_class)->finalize) G_OBJECT_CLASS (parent_class)->finalize (object); } static void e_date_edit_config_class_init (EDateEditConfigClass *klass) { GObjectClass *gobject_class = G_OBJECT_CLASS (klass); GParamSpec *spec; parent_class = g_type_class_peek_parent (klass); /* Method override */ gobject_class->set_property = e_date_edit_config_set_property; gobject_class->get_property = e_date_edit_config_get_property; gobject_class->dispose = e_date_edit_config_dispose; gobject_class->finalize = e_date_edit_config_finalize; spec = g_param_spec_object ("edit", NULL, NULL, e_date_edit_get_type (), G_PARAM_READABLE | G_PARAM_WRITABLE | G_PARAM_CONSTRUCT); g_object_class_install_property (gobject_class, PROP_EDIT, spec); } static void e_date_edit_config_init (EDateEditConfig *edit_config, EDateEditConfigClass *klass) { edit_config->priv = g_new0 (EDateEditConfigPrivate, 1); } E_MAKE_TYPE (e_date_edit_config, "EDateEditConfig", EDateEditConfig, e_date_edit_config_class_init, e_date_edit_config_init, G_TYPE_OBJECT); EDateEditConfig * e_date_edit_config_new (EDateEdit *date_edit) { EDateEditConfig *edit_config; edit_config = g_object_new (e_date_edit_config_get_type (), "edit", date_edit, NULL); return edit_config; } EDateEdit * e_date_edit_config_get_edit (EDateEditConfig *edit_config) { EDateEditConfigPrivate *priv; g_return_val_if_fail (edit_config != NULL, NULL); g_return_val_if_fail (E_IS_DATE_EDIT_CONFIG (edit_config), NULL); priv = edit_config->priv; return priv->edit; } static void set_week_start (EDateEdit *date_edit) { int week_start_day; week_start_day = calendar_config_get_week_start_day (); /* Convert it to 0 (Mon) to 6 (Sun), which is what we use. */ week_start_day = (week_start_day + 6) % 7; e_date_edit_set_week_start_day (date_edit, week_start_day); } static void week_start_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { EDateEditConfig *edit_config = data; EDateEditConfigPrivate *priv; priv = edit_config->priv; set_week_start (priv->edit); } static void set_twentyfour_hour (EDateEdit *date_edit) { gboolean use_24_hour; use_24_hour = calendar_config_get_24_hour_format (); e_date_edit_set_use_24_hour_format (date_edit, use_24_hour); } static void twentyfour_hour_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { EDateEditConfig *edit_config = data; EDateEditConfigPrivate *priv; priv = edit_config->priv; set_twentyfour_hour (priv->edit); } static void set_dnav_show_week_no (EDateEdit *date_edit) { gboolean show_week_no; show_week_no = calendar_config_get_dnav_show_week_no (); e_date_edit_set_show_week_numbers (date_edit, show_week_no); } static void dnav_show_week_no_changed_cb (GConfClient *client, guint id, GConfEntry *entry, gpointer data) { EDateEditConfig *edit_config = data; EDateEditConfigPrivate *priv; priv = edit_config->priv; set_dnav_show_week_no (priv->edit); } void e_date_edit_config_set_edit (EDateEditConfig *edit_config, EDateEdit *date_edit) { EDateEditConfigPrivate *priv; guint not; GList *l; g_return_if_fail (edit_config != NULL); g_return_if_fail (E_IS_DATE_EDIT_CONFIG (edit_config)); priv = edit_config->priv; if (priv->edit) { g_object_unref (priv->edit); priv->edit = NULL; } for (l = priv->notifications; l; l = l->next) calendar_config_remove_notification (GPOINTER_TO_UINT (l->data)); g_list_free (priv->notifications); priv->notifications = NULL; /* If the new edit is NULL, return right now */ if (!date_edit) return; priv->edit = g_object_ref (date_edit); /* Week start */ set_week_start (date_edit); not = calendar_config_add_notification_week_start_day (week_start_changed_cb, edit_config); priv->notifications = g_list_prepend (priv->notifications, GUINT_TO_POINTER (not)); /* 24 Hour format */ set_twentyfour_hour (date_edit); not = calendar_config_add_notification_24_hour_format (twentyfour_hour_changed_cb, edit_config); priv->notifications = g_list_prepend (priv->notifications, GUINT_TO_POINTER (not)); /* Show week numbers */ set_dnav_show_week_no (date_edit); not = calendar_config_add_notification_dnav_show_week_no (dnav_show_week_no_changed_cb, edit_config); priv->notifications = g_list_prepend (priv->notifications, GUINT_TO_POINTER (not)); } a> 97 98 99 100 101 102 103 104 105 106 107
{
  "name": "0x.js",
  "version": "0.22.3",
  "description": "A javascript library for interacting with the 0x protocol",
  "keywords": [
    "0x.js",
    "0xproject",
    "ethereum",
    "tokens",
    "exchange"
  ],
  "main": "lib/src/index.js",
  "types": "lib/src/index.d.ts",
  "scripts": {
    "prebuild": "npm run clean",
    "build": "run-p build:umd:prod build:commonjs",
    "prepublishOnly": "run-p build",
    "postpublish": "run-s release docs:json upload_docs_json",
    "release": "publish-release --assets _bundles/index.js,_bundles/index.min.js --tag $(git describe --tags) --owner 0xProject --repo 0x.js",
    "upload_docs_json": "aws s3 cp docs/index.json s3://0xjs-docs-jsons/$(git describe --tags).json --profile 0xproject --grants read=uri=http://acs.amazonaws.com/groups/global/AllUsers --content-type aplication/json",
    "lint": "tslint src/**/*.ts test/**/*.ts",
    "test": "run-s clean test:commonjs",
    "test:umd": "./scripts/test_umd.sh",
    "test:coverage": "nyc npm run test --all",
    "report_test_coverage": "nyc report --reporter=text-lcov | coveralls",
    "update_contracts": "for i in ${npm_package_config_artifacts}; do copyfiles -u 4 ../contracts/build/contracts/$i.json ../0x.js/src/artifacts; done;",
    "testrpc": "testrpc -p 8545 --networkId 50 -m \"${npm_package_config_mnemonic}\"",
    "docs:json": "typedoc --excludePrivate --excludeExternals --target ES5 --json docs/index.json .",
    "docs:generate": "typedoc --out docs .",
    "docs:open": "opn docs/index.html",
    "clean": "shx rm -rf _bundles lib test_temp",
    "build:umd:dev": "webpack",
    "build:umd:prod": "NODE_ENV=production webpack",
    "build:commonjs": "tsc; copyfiles -u 2 './src/artifacts/**/*.json' ./lib/src/artifacts;",
    "test:commonjs": "run-s build:commonjs run_mocha",
    "pretest:umd": "run-s clean build:umd:dev build:commonjs",
    "substitute_umd_bundle": "npm run remove_src_files_not_used_by_tests; shx mv _bundles/* lib/src",
    "remove_src_files_not_used_by_tests": "find ./lib/src \\( -path ./lib/src/utils -o -path ./lib/src/subproviders -o -path ./lib/src/schemas -o -path \"./lib/src/types.*\" \\) -prune -o -type f -print | xargs rm",
    "run_mocha": "mocha lib/test/**/*_test.js --timeout 5000 --bail --exit"
  },
  "config": {
    "artifacts": "TokenTransferProxy Exchange TokenRegistry Token EtherToken",
    "mnemonic": "concert load couple harbor equip island argue ramp clarify fence smart topic"
  },
  "repository": {
    "type": "git",
    "url": "https://github.com/0xProject/0x.js"
  },
  "license": "Apache-2.0",
  "engines": {
    "node": ">=6.0.0"
  },
  "devDependencies": {
    "@types/jsonschema": "^1.1.1",
    "@types/lodash": "^4.14.64",
    "@types/mocha": "^2.2.41",
    "@types/node": "^8.0.1",
    "@types/sinon": "^2.2.2",
    "@types/uuid": "^3.4.2",
    "awesome-typescript-loader": "^3.1.3",
    "bignumber.js": "^4.0.2",
    "chai": "^4.0.1",
    "chai-as-promised": "^7.1.0",
    "chai-as-promised-typescript-typings": "0.0.3",
    "chai-bignumber": "^2.0.1",
    "chai-typescript-typings": "^0.0.0",
    "copyfiles": "^1.2.0",
    "coveralls": "^3.0.0",
    "dirty-chai": "^2.0.1",
    "ethereumjs-testrpc": "4.0.1",
    "json-loader": "^0.5.4",
    "mocha": "^4.0.0",
    "npm-run-all": "^4.0.2",
    "nyc": "^11.0.1",
    "opn-cli": "^3.1.0",
    "request": "^2.81.0",
    "request-promise-native": "^1.0.4",
    "shx": "^0.2.2",
    "sinon": "^4.0.0",
    "source-map-support": "^0.5.0",
    "truffle-hdwallet-provider": "^0.0.3",
    "tslint": "^5.3.2",
    "tslint-config-0xproject": "^0.0.2",
    "typedoc": "~0.8.0",
    "types-bn": "^0.0.1",
    "types-ethereumjs-util": "0xProject/types-ethereumjs-util",
    "typescript": "^2.4.1",
    "web3-provider-engine": "^13.0.1",
    "web3-typescript-typings": "^0.6.2",
    "webpack": "^3.1.0"
  },
  "dependencies": {
    "0x-json-schemas": "^0.6.1",
    "bignumber.js": "^4.1.0",
    "compare-versions": "^3.0.1",
    "es6-promisify": "^5.0.0",
    "ethereumjs-abi": "^0.6.4",
    "ethereumjs-blockstream": "^2.0.6",
    "ethereumjs-util": "^5.1.1",
    "find-versions": "^2.0.0",
    "js-sha3": "^0.6.1",
    "lodash": "^4.17.4",
    "publish-release": "^1.3.3",
    "uuid": "^3.1.0",
    "web3": "^0.20.0"
  }
}